我想用AWK 來代替我的第5列與文件名的文件在我想這awk的變化列名作爲文件名
#!/bin/bash
For i in ls; do
awk '{$5 = "$i"; print}' $i > $i_edit
但我不知道爲什麼我不能運行,你知道我的錯誤在哪裏嗎? 它不喜歡我的第一行。 我的文件就像這裏面。
我的檔案名稱是Balteni_SV_ed2_MT_2016_D_P10_G + C_-4040m。
也許我必須刪除第一行和最後一行?但是我有很多像這樣的文件。我不想覆蓋但編輯它,分離是空間。
PROFILE Balteni_SV_ed2_M TYPE 3 unspecified m m
363923.46104 372500.00000 0 4040.000 Balteni_SV_ed2_MT_20 unspecified
363780.87963 372530.87963 0 4040.000 Balteni_SV_ed2_MT_20 unspecified
363750.00000 372535.75894 0 4040.000 Balteni_SV_ed2_MT_20 unspecified
EOD
我想是這樣的:
PROFILE Balteni_SV_ed2_M TYPE 3 unspecified m m
363923.46104 372500.00000 0 4040.000 Balteni_SV_ed2_MT_2016_D_P10_G+C_-4040m unspecified
363780.87963 372530.87963 0 4040.000 Balteni_SV_ed2_MT_2016_D_P10_G+C_-4040m unspecified
363750.00000 372535.75894 0 4040.000 Balteni_SV_ed2_MT_2016_D_P10_G+C_-4040m unspecified
EOD
您是否希望每個文件做到這一點?你想覆蓋原始文件嗎?這些文件是什麼樣子的?請[編輯]您的問題以提供更多詳細信息。注意'For'和'for'不一樣,'for'循環以'done'結尾。 –
這就是你的輸入,輸出結果應該是什麼樣子?這些字段是固定寬度還是製表符分隔的,還是其他的? –
awk不賣。 awk腳本之外的'i'是一個shell變量。你的awk腳本中的''我是'awk變量。除了有一個共同的名字之外,它們是完全無關的。 –