我想编写一个脚本来遍历两个不同目录中的文件,并回显不同文件名模式的文件 我做了一个这样的但是不合适
#Files in one dir ABC-123-1.txt
#Files in subdir ABC-123.doc
for f in *.doc
do
f1=`echo $f|sed 's/.doc//g`'
for f2 in ../*.txt
do
f3=`echo $f2|sed 's/..\///g'|sed 's/-1.txt//g'`
if [ "$f1" != "$f3" ]
then
echo $f3
fi
done
done
答案 0 :(得分:-1)
如果我理解你打算用脚本做什么,你想在dir1中迭代以“.doc”结尾的文件,然后在dir2中打印文件名相同的文件并以“-1.txt结尾” ”
这可以通过这一个衬垫来实现:
for i in `ls <dir1>/*.doc | sed 's/\.doc$//'`; do ls <dir2>/"$i"-1.txt; done 2> /dev/null
(将dir1和dir2替换为您的目录)
“2&gt; / dev / null”将忽略第二个目录中不匹配的文件,并且只会打印匹配的文件。
希望有所帮助。