ls 命令排除某些文件

ls 命令排除某些文件

有人可以帮我写一个ls命令来列出以 abc 开头的文件( )并排除名称中abc*.txt包含的文件( )_DEL_abc*_DEL*.txt

我正在尝试这样的事情:

ls abc*.txt --ignore "abc*_DEL_*.xt"

答案1

尝试这个:ls -w 1 abc*.txt|grep --invert-match --regexp=DEL

ls 输出所有匹配的文件,每行一个。grep 过滤带有“DEL”的文件,区分大小写。

例子:

leonid@LeonidMew:~$ ls -w 1 *.txt
abc123.txt
abc222.txt
abc_333.txt
abc_DEL.txt
bbb111.txt
ccc111.txt
leonid@LeonidMew:~$ ls -w 1 abc*.txt|grep --invert-match --regexp=DEL
abc123.txt
abc222.txt
abc_333.txt

更新:根据评论:这可能会有所帮助:试试这个ls -1 abc*.txt|grep -v -e DEL 注意 glob abc* 用于 shell 命令行,如果您在脚本中需要它,则需要不同的使用方式。(即运行 shell 来解析脚本中的命令)

相关内容