Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在unix中从文件中的ls查找文件名_Unix_Awk_Grep_Find_Ls - Fatal编程技术网

如何在unix中从文件中的ls查找文件名

如何在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

我试图查找目录中的文件(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
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