我正在使用Python并使用egrep挑选某些行并使用以下行创建.txt文件:
os.system('cat {0}|egrep " {1}."|egrep " 7..\."|egrep " 8..\." >> {2}_{1}_800.tim' .format(full,epoch,pname))
我不知道怎么办的额外部分是如果没有匹配的行,我不想写一个空白的.txt文件。
任何帮助都会很棒,谢谢。
答案 0 :(得分:0)
好吧,如果我没有弄错的话,你可以使用一些if语句。
grep "my pattern" input-file.txt | {
FILE=output-file.txt
read x; #Read the first line
if ! [[ $x ]]; then
exit #If the 1st line was empty, then there is no match
fi
echo $x >> $FILE
while read line; do
echo $x
done >> $FILE
}
这应该可以正常工作。现在,你可以写这个
'cat {0}|egrep " {1}."|egrep " 7..\."|egrep " 8..\." | 'cat {0}|egrep " {1}."|egrep " 7..\." | egrep " 8..\." | { FILE={2}_{1}_800.tim; read x; if ! [[ $x ]]; then exit; fi; echo $x >> $FILE; while read line; do echo $x; done >> $FILE; }