我在臨時目錄中有 3 個檔案,如下所示:
test1.txt -- It has 4 lines
test2.txt -- It has 5 lines
test3.txt -- It has 6 lines
需要將檔案中的行數連同名稱一起計算到一個單獨的檔案(LIST.txt)中,如下所示
'test1.txt','4'
'test2.txt','5'
'test3.txt','6'
代碼嘗試:
FileDir=/temp/test*.txt
for file in ${FileDir}
do
filename=$(basename $file) & awk 'END {print NR-1}' ${file} >> /temp/LIST.txt
done
這沒有給我名字,它只給了我行數。另外,如何獲得由 ',' 分隔的這 2 個命令的輸出?
uj5u.com熱心網友回復:
也許這適合?
FileDir=/temp/test*.txt
for file in ${FileDir}
do
awk 'END{print FILENAME "," NR}' "$file"
done > LIST.txt
cat LIST.txt
/temp/test1.txt,4
/temp/test2.txt,5
/temp/test3.txt,6
洗掉 "/temp/" 并包含單引號:
cd /temp
FileDir=test*.txt
for file in ${FileDir}
do
awk 'END{q="\047"; print q FILENAME q "," q NR q}' "$file"
done > ../LIST.txt
cd ../
cat LIST.txt
'test1.txt','4'
'test2.txt','5'
'test3.txt','6'
另一種方法:
FileDir=/temp/test*.txt
for file in ${FileDir}
do
awk 'END{q="\047"; n = split(FILENAME, a, "/"); print q a[n] q "," q NR q}' "$file"
done > LIST.txt
cat LIST.txt
'test1.txt','4'
'test2.txt','5'
'test3.txt','6'
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/335587.html
