字符截取命令cut,附printf命令

cut

cut字段提取命令,按列提取

cut [选项] 文件名

选项:
-f 列号:提取第几列
-d 分隔符:按照指定分割符分割列
默认分隔符是 tab键。
如果文件中的分隔符是空格,cut命令不能正确提取。

cut -f 2 文件名
cut -f 2,3 文件名    
cut -d ":" -f 1,3 文件名

cut和grep命令结合使用

cat /etc/passwd | grep /bin/bash | grep -v root | cut -d ":" -f 1

在这里插入图片描述
cut不能完成的就考虑 awk编程

printf

printf '输出类型输出格式' 输出内容

输出类型:
%ns:输出字符串。n是数字指代输出几个字符
%ni:输出整数。n是数字指代输出几个数字
%m.nf:输出浮点数。m和n是数字,指代输出的整数位数和小数位数。如%8.2f代表总共输出8位数,其中2
位是小数,6位是整数。

输出格式
\a:输出警告声音
\b:输出退格键,也就是Backspace
\f:轻触屏幕
\n:换行
\r:回车,也就是Enter键
\t:水平输出退格键,也就是Tab键
\v:垂直输出退格键,也就是Tab键

printf不能在管道符后面,只能接受$(参数)的形式,代表里面是系统命令
printf不如cat或者echo输出文件方便。
awk命令中不能调用系统命令cat、echo,所以使用printf
printf ‘%s’

[root@hadoop001 ~]# cat test.txt 
11 22 33 44
我 是 你 猪
[root@hadoop001 ~]# printf '%s' test.txt 
test.txt[root@hadoop001 ~]# 
[root@hadoop001 ~]# printf '%s' $(cat test.txt)
11223344我是你猪[root@hadoop001 ~]# 
[root@hadoop001 ~]# 
[root@hadoop001 ~]# printf '%s %s %s %s\n' $(cat test.txt)
11 22 33 44
我 是 你 猪
[root@hadoop001 ~]# 

在awk命令的输出中支持print和printf命令
print:print会在每个输出之后自动加入一个换行符(Linux,默认没有print命令)
printf:printf是标准格式输出命令,并不会自动加护换行符,如果需要换行,需要手工加入换行符。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值