我有一个目录,其中包含许多不同格式的文件。我想知道如何删除具有特定格式的所有文件(比如说* .dat),除了几个相同格式的文件(例如A.dat和B.dat)。请指教!
答案 0 :(得分:1)
我会写一个小脚本(作为命令行一行,它有点太大了):
#!/bin/sh
for f in *.dat; do
case $f in
(A.dat|B.dat)
;; # do nothing
(*)
rm -- "$f";; # remove the file
esac
done
作为替代方案,您可以使用交互式rm -i *.dat
,询问您是否应删除每个文件。回答y
代表您不再需要的文件,n
代表A.dat
和B.dat
。
像zsh和bash这样的现代shell也为你的问题提供强大的全局功能。我建议你阅读他们的手册页,这将有助于你成为一名熟练的外壳大师。