0
我想更換一個值的值(比方說,「25」與「Z」的所有出現),這樣sed命令會做:的sed:更換單個列
sed 's/25/Z/g'
但只有在文件的第一列(所以其他列中的任何「25」都不應該被替換)。這可能與sed,還是我需要別的東西?
我想更換一個值的值(比方說,「25」與「Z」的所有出現),這樣sed命令會做:的sed:更換單個列
sed 's/25/Z/g'
但只有在文件的第一列(所以其他列中的任何「25」都不應該被替換)。這可能與sed,還是我需要別的東西?
我建議使用awk
。具有該列由空格隔開的命令是簡單的:
awk '{sub(/25/, "Z", $1)}1' input.file
如果25
可以在第一列中多次出現,並要替換所有的人都使用gsub
代替sub
。
檢查:
echo "25 25 25 25 25" |perl -lane '$F[1]=~s/25/Z/g;print "@F"'
25 Z 25 25 25
這似乎是工作,TNX! 「}」在「}」之後做了什麼? – Abdel
@Abdel awk程序由'CONDITION {ACTIONS}'形式的一個或多個表達式組成。條件和動作都是可選的。如果未指定條件,則操作將應用於所有輸入記錄。如果沒有指定操作,則默認操作是「打印」記錄。 '1'利用了這一點。這是一個總是評估爲「真」的條件。由於沒有指定任何操作,它只會打印所有行。這與編寫'{print}'相同但更短。 – hek2mgl
這會將'1257'變成'1Z7'並壓縮行中的所有空白。這是可取的嗎? –