linux删除除某个文件外的其它文件,shell脚本:删除当前目录下除了某几个文件之外的其他文件...
有時會有這種特別的需要,就是刪除當前目錄下的所有文件,除了幾個特別指定的文件。
一個特別的應用是:在使用VASP進行計算的時候,常常想要保留4個輸入文件,刪除剩余的文件。
如果沒有一個特殊的腳本,那就需要一個一個的刪除,文件多的時候會比較麻煩。
下面的內容可以幫助解決這個問題。
A pattern-list is nothing but a list of one or more patterns (filename) separated by a |. First, turn on extglob option:
shopt -s extglob
Bash remove all files except *.zip and *.iso files
The rm command syntax is:
##Delete all file except file1
rm !(file1)
##Delete all file except file1 and file2
rm !(file1|file2)
##Delete all file except all zip files
rm !(*.zip)
##Delete all file except all zip and iso files
rm !(.zip|.iso)
##You set full path too
rm /Users/vivek/!(.zip|.iso|*.mp3)
##Pass options
rm [options] !(.zip|.iso)
rm -v !(.zip|.iso)
rm -f !(.zip|.iso)
rm -v -i !(*.php)
相應的,用來刪除VASP文件的腳本可以按著如下來寫:
#!/bin/bash
shopt -s extglob
rm !(INCAR|KPOINTS|POSCAR|POTCAR|job.vasp)
參考:https://www.cyberciti.biz/faq/linux-bash-delete-all-files-in-directory-except-few/
總結
以上是生活随笔為你收集整理的linux删除除某个文件外的其它文件,shell脚本:删除当前目录下除了某几个文件之外的其他文件...的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        