我在bash脚本中使用ed
来搜索文件; /
命令将显示我不想要的内容。我尝试重定向>/dev/null 2>&1
,但这对我没用。
foo.txt
:a
b
c
bar.sh
:ed -s foo.txt << EOF
/b/
EOF
> /dev/null 2>&1
$ ./bar.sh
b
如何停止ed
打印匹配的行b
?
答案 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
开始发表评论;该行的其余部分,直到新行,是 忽略。 如果给出了一个后跟分号的行地址,那么 当前地址设置为该地址。否则,目前 地址不变。