有人可以帮我写一个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 来解析脚本中的命令)