linux中cut -c命令,Linux中cut命令的使用
CUT可以對file(或stdin或pipe)的每行抽取出希望抽取的部分extract(cut out) selected fields of each line of a file.
【用法】
cut -bLIST [-n] [file]
cut -cLIST [file]
cut -fLIST [-dDELIM] [-s] [--output-delimiter=STRING] [file]
LIST
LIST是使用整數(按照升序)表示的需要抽取的位置:
枚舉list:
使用,(逗號)或blank-character表示;
范圍range:
使用-表示。
例如:1,4,7,1-3,8;或者省略表示:-5,10?(等價于1-5,10),3-?(等價于3-末尾)。
file
要抽取文件的路徑名;如果沒有指定或者使用-,則從stdin接受數據。
1.按照字節byte抽取cut -bLIST [-n] [file]
a. 例如:cut -b1-5?表示抽取每行的第1到第5個字節;
完整的例子:echo "this is min" | cut -b1-6?返回this i
b.?cut -bLIST -n: -n和-b結合使用防止multi-byte多字節字符被切割;
2.按照字符抽取cut -cLIST [file]
例如:echo "this is min" | cut -c1-6,返回this i
3.按照分割以后的域field抽取
cut -fLIST [-dDELIM] [-s] [--output-delimiter=STRING] [file]
過程為:先對每行的字符串按照-dDELIM指定的分隔符DELIM(默認使用TAB)進行分割;然后按照LIST的值返回指定域的內容。
例如:
echo "this is min" | cut -f1,3?返回this min,按照默認的TAB進行分割,返回結果還是按照TAB。
echo "this_is_min" | cut -f1,3 -d"_"?返回this_min,按照指定的_進行分割,返回結果使用_分割。
對于沒有DELIM的行會完全返回,如果不希望返回可以使用-s;
默認返回的各個域仍按照-d指定的DELIM分割顯示,如果希望結果中使用指定的分隔符,可以使用--output-delimiter=STRING指定。
例如:echo "this_is_min" | cut -f1,3 -d"_" --output-delimiter="-"?返回結果為this-min
應用舉例:
1?有一頁電話號碼薄文件contacts.txt,上面按順序規則地寫著”人名、家庭住址、電話、備注”等,假如使用;隔開。
如果希望抽取所有人的名字和其對應的電話號碼,使用命令:
cat contacts.txt | cut -f1,3 -d";"
2?要查看Linux下當前所有的用戶:
cat /etc/passwd | cut -f1,3 -d":"
第二列大于500的為創建的用戶,小于500的為系統定義的用戶。
例如:
###################################################################
## ckinstance.ksh ##
###################################################################
echo "`date` "
echo "Oracle Database(s) Status `hostname` "
namelst=`ps -ef|grep ora_pmon|grep -v grep|awk '{print $8}'|cut -c10-15`
for name in $namelst
do
if [ -z$name ];then
echo "Oracle Instance - $name: Down"
else
echo "Oracle Instance - $name: Up"
fi
done
總結
以上是生活随笔為你收集整理的linux中cut -c命令,Linux中cut命令的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 获取url地址后面参数的2种方法(小程序
- 下一篇: python爬取b站排行榜_抓取+硒元素