3

我正在使用 Python 并且还使用 egrep 来挑选某些行并创建一个 .txt 文件,其中包含这些行:

os.system('cat {0}|egrep " {1}."|egrep " 7..\."|egrep " 8..\." >> {2}_{1}_800.tim' .format(full,epoch,pname))

我不确定该怎么做的额外部分是,如果没有匹配的行,我不希望写入空白的 .txt 文件。

任何帮助都会很棒,谢谢。

4

1 回答 1

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; }
于 2013-06-20T15:45:56.823 回答