我想創建一個腳本,獲取擴展和報告在兩列,用戶和用戶擁有該擴展的文件數量。 結果必須打印在report.txt中與剪切和grep報告
這是我的代碼。
#!/bin/bash
#Uncoment to create /tmp/test/ with 50 txt files
#mkdir /tmp/test/
#touch /tmp/test/arch{01..50}.txt
clear
usage(){
echo "The script needs an extension to search"
echo "$0 <extension>"
}
if [ $# -eq 0 ]; then
usage
exit 1
fi
folder="/tmp/test/"
touch report.txt
count=0
pushd $folder
for file in $(ls -l); do
grep "*.$1" | cut -d " " -f3 >> report.txt
done
popd
該程序運行不休。而且我甚至沒有爲每個用戶計算文件。 我怎樣才能解決這個只使用grep和切?
你能給輸入和預期的輸出? – Fazlin
'grep「*。$ 1」| ......'greps ins stdin。你的程序永遠在等待着。我沒有文件參數或缺少輸入管道。 –
你可以用'find $ folder -name'*。$ 1「-printf」%P \ t%u \ n「>> report.txt'來代替for循環,然後用一些wc。 –