我一直在嘗試編寫一個腳本,它將採用當前工作目錄,掃描每個文件並檢查它是否爲.txt文件。然後取出每個文件(這是一個文本文件),並檢查它的名稱中是否包含下劃線,以及是否將下劃線更改爲連字符。重命名UNIX目錄中的文件 - shell腳本
我知道,這是一個艱鉅的任務,但這裏是粗略的代碼,我到目前爲止有:
#!/bin/bash
count=1
while((count <= $#))
do
case $count in
"*.txt") sed 's/_/-' $count
esac
((count++))
done
我當時的想法是,這將需要在當前工作目錄作爲參數的文件並檢查每個文件(由$ count或「count」處的文件表示)。然後對於每個文件,它會檢查它是否以.txt結尾,如果它確實會使用sed將每個下劃線更改爲連字符。我認爲我遇到的主要問題之一是腳本沒有從當前工作目錄讀取文件。我嘗試在運行腳本的命令之後包含目錄,但我認爲它需要每行而不是每個文件(因爲每行都有4個左右的文件)。
無論如何,任何幫助將不勝感激!另外,我很抱歉我的代碼非常糟糕,我對UNIX非常陌生。
一個問題是'$ count'是變量'count'的值,它是一些整數。如果你想迭代位置參數,你可以這樣寫:'for file in「$ @」;做...或者簡寫'檔案;做...' –
在這裏檢查:http://theunixshell.blogspot.com/2013/01/bulk-renaming-of-files-in-unix.html – Vijay