0
我正在努力解决另一个问题,这次涉及到重定向输出到一个文件(>
)。我有几个文件名为foo-ab.in foo-abc.in foo-abcd.in bar-ab.in bar-abc.in bar-abcd.in我想通过每个文件,改变一些小它的一部分与sed,然后重写结果为foo-ab2.in,foo-abc2.in和foo-abcd2.in为每个文件。我至今是:sed输出写入输入文件
for file in foo bar; do sed -n 's/text to change/replacement/ p' $file*.in> &1; done
但我得到的错误:
-bash: syntax error near unexpected token `&'
我明白,我可能做这一切错了,但我想做到这一点:
for file in foo bar; do sed -n 's/text to change/replacement/ p' $file*.in > $file*2.in; done
其中$file*2.in
与$file.in
的名称完全相同,中间附加了2,但由于有多个foo
带有ab,abc或abcd结尾,我不知道如何做到这一点。我已经有了我的sed
命令,它只是输出到正确的文件名,这让我沮丧。