Shell操作文本
本文主要记录在Shell脚本中常见的一些文件操作命令:
去除空行
去除重复行
判断文件是否存在或是否为空
……
去除文件中的空行 1 2 3 4 5 6 7 8 9 10 11 cat file.txt |tr -s '\n' cat file.txt |sed '/^$/d' cat file.txt |grep -v '^$' cat file.txt |awk '$0' cat file.txt |awk '{if($0!="")print}' cat file.txt |awk '{if(length !=0) print $0}'
删除文件中的重复行 1 2 3 4 5 6 7 8 9 10 11 12 13 14 sort file.txt | uniq sort file.txt | awk '{if ($0!=line) print;line=$0}' sort file | sed '$!N; /^\(.*\)\n\1$/!P; D' sort -u file.txt awk '!a[$0]++' file.txt
判断文件是否存在或是否为空 1 2 3 4 5 6 7 8 9 if test -s file.txt;then echo "file.txt exists and not empty" else echo "file.txt not exits or empty" fi
统计文件条数 1 2 3 4 5 6 7 8 9 10 11 12 awk '{print NR}' file.txt|tail -n1 awk 'END{print NR}' file.txt grep -n "" file.txt|awk -F: '{print $1' }|tail -n1 sed -n '$=' file.txtwc -l file.txtcat file.txt |wc -l
蚂蚁🐜再小也是肉🥩!