目录
1,删除空行或者统计空行行数
- 统计空行个数:grep ‘^$’ | wc -l 对应非空行的是grep -v ‘^$’ | wc -l
- 空行替换为空
1,grep -v '^$' file
2,cat file | sed '/^$/d'
3,cat file | awk '{if($0!="")print}' or awk '{if(length!=0)print $0}' # $0代表整行
4,cat file | tr -s '\n' # tr相当于一个简化的的sed 这里是替换换行为空,注意换行后面没有制定内容
另外如果是windows上copy的文件,可能不好使,也可以尝试strings命令县过滤可打印字符在作操作多个空格替换为一个
cat file | sed 's/\s\+/ /g or sed -r 's/[[:space:]]+/ /g' or sed -r 's/[ ]+/ /g'
2,计算csv文件列的和
测试文件前三行第三列内容和
a:b:3:123
c:d:10;abc
e:f:3:efd
[root@centos7 ~]# head -3 1.txt | awk 'BEGIN {FS=":";s=0} {s+=$3} END{print s}'
16
3,统计重复次数最多的行记录
测试一下文件第4行道第8行重复次数最多的行打印出来
a:b:3:123
c:d:10;abc
e:f:3:efd
c:d:10;abc111
c:d:10;abc
c:d:10;abc
c:d:10;abce
c:d:10;abc
c:d:10;abc
[root@centos7 ~]# sed -n '4,8'p 1.txt | sort | uniq -i -c| sort -rn | head -n 1
3 c:d:10;abc
最少的可以用tail
4,怎么格式化输出
使用column,参数-s可以指定分隔符
[root@centos7 ~]# head -3 1.txt | column
a:b:3:123 c:d:10;abc e:f:3:efd
[root@centos7 ~]# head -3 1.txt | column -t
a:b:3:123
c:d:10;abc
e:f:3:efd
[root@centos7 ~]# head -3 1.txt | column -t -s:
a b 3 123
c d 10;abc
e f 3 efd
5,生成日期文件
使用touch ora_cp_`date +%Y%m%d`.dmp或者touch ora_cp_$(date +%Y%m%d).dmp
一天前或者一天后,touch ora_cp_`date +%Y%m%d -d '1 days ago'`.dmp、touch ora_cp_`date +%Y%m%d -d '1 days'`.dmp
1166

被折叠的 条评论
为什么被折叠?



