2012-11-29 40 views

回答

2
for i in dir/*.txt; do 
    grep " BA " $i > $newdir/`basename $i` 
done 

注意使用basename,这需要dir/a.txt(说),并返回a.txt

1

听起来像是GNU并行作业:

parallel --dry-run grep '" BA "' '{} > otherdir/{/}' ::: dir/{a,b,c}.txt 

输出:

grep " BA " dir/a.txt > otherdir/a.txt 
grep " BA " dir/b.txt > otherdir/b.txt 
grep " BA " dir/c.txt > otherdir/c.txt 

删除--dry-run当你满意你看到的。

{}由输入:::后更换(这些也可以来自标准输入或一个文件),{/}{}基名。

相关问题