1. cut
cut命令用于從行中截取字符串娩怎。
SYNOPSIS
cut OPTION... [FILE]...
** OPTION**
-d CHAR:以指定的字符為分隔符(不要用空格作為分隔符)搔课;
-f FIELDS:挑選出的字段;
n:第n個字段截亦;
n-m:第n-m個字段爬泥;
n-:第n個-最后一個字段;
-m:第1-m個字段崩瓤;
n,m:第n和m個字段袍啡;
示例
# 查找/etc/passwd中以bash結(jié)尾的行,顯示user和UID
grep "bash$" /etc/passwd | cut -d ":" -f 1,3
2. printf
printf用于格式化輸出却桶,默認(rèn)不包含換行境输,如需換行需要加入轉(zhuǎn)義換行符\n。
SYNOPSIS
printf [-v var] 格式 [參數(shù)]
Options
-v var 結(jié)果輸出到變量var而非標(biāo)準(zhǔn)輸出
格式
%c: 顯示字符的ASCII碼;
%d, %i: 顯示十進制整數(shù)嗅剖;
%e, %E: 科學(xué)計數(shù)法數(shù)值顯示蛋逾;
%f:顯示為浮點數(shù);(默認(rèn)顯示6位小數(shù))
%g, %G:以科學(xué)計數(shù)法或浮點形式顯示數(shù)值窗悯;(默認(rèn)整數(shù)位、小數(shù)位共顯示6位數(shù)字)
%s:顯示字符串偷拔;
%u:無符號整數(shù)蒋院;
%%: 顯示%自身;
修飾符
x[.y]:x控制顯示的寬度莲绰;y表示小數(shù)點后的精度欺旧;如%3.1f
-: 左對齊(默認(rèn)為右對齊)
+:顯示數(shù)值的符號
示例
# 格式化輸出到變量
[root@VM_41_201_centos ~]# printf -v test "1234abcd"
[root@VM_41_201_centos ~]# echo $test
1234abcd
# 格式化輸出
[root@VM_41_201_centos ~]# printf "%g\n" 1234567.89
1.23457e+06
[root@VM_41_201_centos ~]# printf "%e\n" 1234567.89
1.234568e+06
# 若指定的寬度不足,則以實際輸出為準(zhǔn)
[root@VM_41_201_centos ~]# printf "%5s\n" abcdefg
abcdefg
# 若指定的寬度未占滿蛤签,則會顯示空格
[root@VM_41_201_centos ~]# printf "*%10s*\n" abcdefg
* abcdefg*
# 左對齊
[root@VM_41_201_centos ~]# printf "*%-10s*\n" abcdefg
*abcdefg *
# 多個格式化組合
[root@VM_41_201_centos ~]# printf "*%s*%6.2f*\n" user1 123.456
*user1*123.46*