我有這樣一個文件,修改文件數據:使用命令行的Unix程序
"4" 15356 15422
"8" 15289 15355
"7" 14145 15288
"6" 14071 14139
如何使用AWK或其他慶典工具改寫這
mm4 15356 15422
mm8 15289 15355
mm7 14145 15288
mm6 14071 14139
我有這樣一個文件,修改文件數據:使用命令行的Unix程序
"4" 15356 15422
"8" 15289 15355
"7" 14145 15288
"6" 14071 14139
如何使用AWK或其他慶典工具改寫這
mm4 15356 15422
mm8 15289 15355
mm7 14145 15288
mm6 14071 14139
隨着SED,假設文件file
:
sed 's/"/mm/;s/"//' file
隨着GNU sed的:
sed -r 's/"([0-9]+)"/mm\1/' file
輸出:
mm4 15356 15422 mm8 15289 15355 mm7 14145 15288 mm6 14071 14139
sed
是使用最簡單,最有效的工具。我會使用類似正則表達式替換命令到
sed 's/"\([0-9]*\)"/mm\1/' filename
此搜索的雙引號中位數(零個或多個)的圖案,並用由mm
之前匹配的數字替代它們。
雖然我只有GNU sed的副本,但以上版本只適用於所有版本的sed,因爲它僅使用Basic Regular Expressions as defined by POSIX。
如果您使用GNU sed和想替換該文件的內容,你 可能包括-i
/--in-place
標誌:
sed -i.bak 's/"\([0-9]*\)"/mm\1/' filename
該修改的filename
內容作出後它的備份副本爲 filename.bak
。如果您不需要備份文件,請省略-i
選項的後綴。
另一替代
tr -d '"' <file | sed 's/^/mm/'
mm4 15356 15422
mm8 15289 15355
mm7 14145 15288
mm6 14071 14139
PS。保留領先空間
非常感謝你! –