【发布时间】:2015-06-19 05:44:34
【问题描述】:
所以,我有一个文件列表,我想用它来生成一组新的文件组。我想一次打开这些组(多个文件)。编辑它们。然后回到终端,回车,打开下一组文件。
我已经让它工作了,但我正在使用一个临时文件来这样做
cat failingAll | awk '{print $2}' | xargs -I {} -L 1 sh -c "find {} | grep xml | xargs echo;" | perl -pe "s/^(.*)$/open \1;read;/g" > command.sh ; sh command.sh
这可能与 xargs 相关吗?真的,我的意思是没有临时文件。我试过这个
cat failingAll | awk '{print $2}' | xargs -I {} -L 1 sh -c "find {} | grep xml | xargs open ; read;"
但它不会在组之间暂停,它只是一次将它们全部打开(并使我的 xml 编辑器崩溃。)
【问题讨论】:
-
cat的用法是UUOC。你不需要它。只需使用awk '{print $2}' failingAll。 -
| xargs echo据我所知也完全没用。 -
failingAll目录名中的行吗?这就是find的用途吗?grep是否仅匹配名称中带有xml的文件?您是否只想一次编辑一个 xml 文件(在failingAll中列出的目录下)? -
@Etan Reisner 是的,它是目录名称。是的,它是用于名称中的 xml。不,它是具有可变子目录的多个 xml 文件
-
您正试图一次编辑每个目录下的所有 xml 文件(在
failingAll中找到),但每个“组”文件都按顺序编辑?