1
我有一個for
循環來列出目錄中的文件,然後根據它們的名稱將它們移動到各個適當的文件夾。重新評估每次運行的for循環條件
說有300個文件象下面這樣:
- Prefix_filename1_suffix1_date.txt - 100個文件
- Prefix_filename101_suffix2_date.txt - 150個文件
- Prefix_filename251_suffix3_date.txt - 50個文件
我會只需知道循環開始處的文件的前綴和文件夾位置:
cd folder_location
for f in $(ls ${file_prefix}*); do
當我輸入for
循環後,文件名會被我知道 - 這是一個挑戰。
我使用正則表達式找到所有文件共有的後綴,然後使用awk
獲得前綴和後綴之間的文件名。所以要使用正則表達式和awk
我需要文件名通過for
循環。
在處理這些文件時,我將所有相似的文件一起移動,所以(如果有三組文件),文件可能會在3次運行中移動(比如說第1,101和251次),另外297次運行不要做任何事情,因爲沒有要處理的文件,因爲它已經列出了300個文件 - 最初循環運行了300次。
我該如何避免這種情況?並讓循環運行3次。
你可以發佈你的for循環? f($ ls $ {file_prefix} *)中的 –
;做 – zeushvk
我在for循環之前做一個cd folder_location – zeushvk