当前位置: 技术问答>linux和unix
shell脚本剪切文件文件,并生成新文件的问题
来源: 互联网 发布时间:2016-11-28
本文导语: 系统每天生成一个文件,文件里面有多行,每行多个字段,是用单竖线'|'分隔的。 我写了个定时任务,shell脚本执行时,读取这个文件,取其中的几个字段,生成新的文件。然后再FTP到另一台机器上。 我是用的cut命...
系统每天生成一个文件,文件里面有多行,每行多个字段,是用单竖线'|'分隔的。
我写了个定时任务,shell脚本执行时,读取这个文件,取其中的几个字段,生成新的文件。然后再FTP到另一台机器上。
我是用的cut命令,现在遇到了个问题。我想在cut之前做个判断,如果某个字段不是某个值,才进行这个操作;否则,直接跳过这一行,继续下一行。
比如a.txt
文件内容:
aaa|bbb|ccc|0
ddd|eee|fff|1
ggg|hhh|iii|1
脚本执行后生成的新文件b.txt
文件内容
ddd|eee|fff|1
ggg|hhh|iii|1
请教这个怎么做?谢谢
我写了个定时任务,shell脚本执行时,读取这个文件,取其中的几个字段,生成新的文件。然后再FTP到另一台机器上。
我是用的cut命令,现在遇到了个问题。我想在cut之前做个判断,如果某个字段不是某个值,才进行这个操作;否则,直接跳过这一行,继续下一行。
比如a.txt
文件内容:
aaa|bbb|ccc|0
ddd|eee|fff|1
ggg|hhh|iii|1
脚本执行后生成的新文件b.txt
文件内容
ddd|eee|fff|1
ggg|hhh|iii|1
请教这个怎么做?谢谢
|
用awk吧
awk -F'|' '$4==1 {print $0}' a.txt > b.txt
awk -F'|' '$4==1 {print $0}' a.txt > b.txt
|
that's it