0
我堅持我認爲比較簡單的問題。我有一部分代碼是這樣的:將參數傳遞給bash腳本中的循環
#!/bin/bash
file=$(ls -l /home/user_name/)
for f in ${file}; do
awk 'NR==1{print $2}'
done
這個想法是這樣的。在系統上有用戶名爲user_name
。在他的主文件夾中,他有一種類型的文件,比如xxx.txt
,yyy.txt
。在這些文件裏面有我想要第二列的數據(這就是awk的用處)。我該如何運行這個循環,以便檢查目錄中的所有文件?如果我添加如awk 'NR==1{print $2}' $f
這樣的東西,它只檢查一個文件,然後用錯誤報告。
您正在使用'ls -l'(小寫字母'l',不是數字' 1')...並且即使這樣你也應該避免嘗試使用[輸出來自ls](http://mywiki.wooledge.org/ParsingLs)...嘗試'for/in/home/user_name/* .txt'然後'awk'NR == 1 {print $ 2}'「$ f」' – Sundeep
或者更簡單,取而代之的for-loop,只是一個簡單的'awk'FNR == 1 {print $ 2}'/ home/user_name/*。txt' – Sundeep