我有一個文件夾不斷添加從其他用戶的文件夾。我想用一個bash腳本比較這些文件的文件名中的前三個字符,以及它們是否相同。Bash腳本壓縮所有開始相同的字符的文件
我是bash(或任何)腳本的新手,所以任何幫助將不勝感激。
我有一個文件夾不斷添加從其他用戶的文件夾。我想用一個bash腳本比較這些文件的文件名中的前三個字符,以及它們是否相同。Bash腳本壓縮所有開始相同的字符的文件
我是bash(或任何)腳本的新手,所以任何幫助將不勝感激。
關鍵部分是find
命令。它只是選擇當前目錄中的文件與路徑的最後部分(文件名)的前三個字母匹配:
find . -maxdepth 1 -type f -regex '.*/fil.*' -print
而現在只需提供輸出到您喜歡的壓縮工具:
對於bzip2
文件中使用tar
:
tar -cjf myfile.tbz2 $(find . -maxdepth 1 -type f -regex '.*/fil.*' -print)
對於zip
文件中使用7z
:
7z a myfile.zip $(find . -maxdepth 1 -type f -regex '.*/fil.*' -print)
這裏找到獨特的3個字符的技術前綴
command ls | grep -o '^.\{1,3\}' | sort -u
小心包含文件名具有少於3個字符。
這不會將列表限制爲文件,也不會拾取隱藏的文件。
'我是一個新手來打擊...' - 你想保持*現狀*! – devnull