如何防止ed打印匹配结果?

时间:2016-06-01 13:24:24

标签: bash ed

我在bash脚本中使用ed来搜索文件; /命令将显示我不想要的内容。我尝试重定向>/dev/null 2>&1,但这对我没用。

文本文件foo.txt

a
b
c

bash脚本bar.sh

ed -s foo.txt << EOF
/b/
EOF
> /dev/null 2>&1

结果:

$ ./bar.sh
b

如何停止ed打印匹配的行b

2 个答案:

答案 0 :(得分:4)

我认为你的意思是:

ed -s foo.txt > /dev/null <<eof
/b/
eof

答案 1 :(得分:1)

您可以使用import glob # Returns a list of all filenames ending in .txt # precondition: none # postcondition: a list of all filenames in the current directory # with a .txt extension def getFilesInDir(): filenames = glob.glob('./*.txt') for i in range(len(filenames)): filenames[i] = filenames[i][2:] return filenames files = getFilesInDir() for el in files: file = open(el, 'r') for line in file: print(line) file.close() 评论命令 ed 移至匹配的行而不打印结果。

根据/b/;#文档

  

ed

     

开始发表评论;该行的其余部分,直到新行,是        忽略。 如果给出了一个后跟分号的行地址,那么        当前地址设置为该地址。否则,目前        地址不变。