如何在unix或linux中基于grep,sed或awk获取unix目录中文件的名称?

cyb*_*ter 0 unix linux awk grep sed

如何在unix或linux中基于sed,grep或awk获取unix目录中文件的名称?

我虽然可以做类似的事情:

    for i in $(ls /tmp/files/date*); do
       if [ $(cat $i | head -n 1 | grep -c "6") >= 1 ] ; then
          echo $i
       fi
    done
Run Code Online (Sandbox Code Playgroud)

我需要它来搜索某个目录中的所有文件(每个文件中只有第一行),然后返回哪些文件中包含字符串.

蒂姆,谢谢

bmk*_*bmk 6

您可以稍微简化脚本并获得所需的结果:

for i in /tmp/files/date*; do
   if head -n 1 "$i" | grep -q "6"; then
      basename "$i"
   fi
done
Run Code Online (Sandbox Code Playgroud)