我需要使用几个具有特定名称模式的压缩文件的内容来创建一个大文本文件。为此,我使用了:
find . -name '*dna.toplevel.txt.gz' -exec zcat {} >> all.txt \;
它工作得很好。问题是,现在我需要即时编辑文本以用“文件名|”替换特定字符“>”。我设法煮了这个:
find . -name '*dna.toplevel.txt.gz' -exec zcat {} | sed 's/>/>{}|/g' >> all.txt \;
但我收到以下错误:
- sed:无法读取;:没有这样的文件或目录
- 查找:缺少“-exec”的参数
我理解糟糕的 bash 很困惑,因为我没有正确指定每个命令的结束位置,但我不知道如何正确执行。