使用shell 遍历四个文件夹下的文件名称 去和一个txt文档的每一行匹配 如果有则不打印 如果没有匹配到则打印到一个txt文档中
时间: 2023-03-28 14:00:32 浏览: 81
shell 删除指定行上一行
可以使用以下的 shell 脚本来实现:
```shell
#!/bin/bash
# 遍历四个文件夹下的文件名称
for file in folder1/* folder2/* folder3/* folder4/*
do
# 读取 txt 文档的每一行
while read line
do
# 如果匹配到了,则不打印
if [[ "$file" == *"$line"* ]]
then
break
fi
done < "file.txt"
# 如果没有匹配到,则打印到 txt 文档中
if [ $? -ne ]
then
echo "$file" >> "output.txt"
fi
done
```
这个脚本会遍历四个文件夹下的所有文件,然后读取一个名为 file.txt 的文本文件的每一行,将每一行的内容与文件名进行匹配。如果匹配到了,则不打印;如果没有匹配到,则将文件名输出到一个名为 output.txt 的文本文件中。
阅读全文