如何在unix中从文件中的ls查找文件名
我试图查找目录中的文件(ls的输出)是否存在于文件中。所以我在这个文件中有一个名为test.txt的文件,我有几个文件名,比如V1.txt,v2.txt,v3.txt。 现在,当我在目录中查找文件列表时,我想搜索test.txt文件中是否有这些文件。如何在unix中从文件中的ls查找文件名,unix,awk,grep,find,ls,Unix,Awk,Grep,Find,Ls,我试图查找目录中的文件(ls的输出)是否存在于文件中。所以我在这个文件中有一个名为test.txt的文件,我有几个文件名,比如V1.txt,v2.txt,v3.txt。 现在,当我在目录中查找文件列表时,我想搜索test.txt文件中是否有这些文件。 示例:听起来你有两项任务要做 1) 循环目录列表 2) 在文本文件中搜索目录中的任何文件名 测试设置 echo "V1.txt" > file_list.txt echo "V2.txt" >> file_list.txt mkd
示例:听起来你有两项任务要做 1) 循环目录列表 2) 在文本文件中搜索目录中的任何文件名 测试设置
echo "V1.txt" > file_list.txt
echo "V2.txt" >> file_list.txt
mkdir testdir
touch testdir/V1.txt
touch testdir/V2.txt
touch testdir/V3.txt
代码
你问什么一点也不清楚。您是在尝试编写bash脚本,还是使用python或C之类的语言?请告诉我们您已经尝试了什么。我正在寻找unix命令。当我做ls时,假设我得到以下文件:V1.txt、V2.txt、V3.txt、file_list.txt。现在,文件_list.txt包含该目录中的文件名。因此,假设文件_list.txt包含V1.txt V2.txt,但不包含V3.txt。因此,我需要一个unix命令来列出文件_list.txt中未列出的文件。在本例中,输出为V3.txt。
#!/bin/bash
for f in `ls testdir`
do
if grep -q $f file_list.txt; then
echo "found $f"
else
echo "not found $f"
fi
done