[英]Sed/Awk manipulation of a text
我需要更改文件的最后一列:
dir_/agra_2008_04_07_a 6 scd679 Voice of male
dir_/agra_2008_04_07_a 7 scd680 voice off
dir_/agra_2007_10_01_a 2 scd502 voice over
dir_/agra_2007_10_08_a 2 scd502 voice over
對其他:
dir_/agra_2008_04_07_a 6 scd679 Voice_of_male
dir_/agra_2008_04_07_a 7 scd680 voice_off
dir_/agra_2007_10_01_a 2 scd502 voice_over
dir_/agra_2007_10_08_a 2 scd502 voice_over
在最后一列添加下划線! 任何人? 謝謝!
一個簡單的sed
解決方案:
sed 's/ /_/8g' file
它用下划線替換空格,但忽略前7次出現,因此從第8個開始到結尾( g
)。 如果您的輸出在最后一列之前始終具有相同數量的空格,那么它將起作用。
只要您有雙倍的空格作為字段分隔符,就可以使用此awk
awk -F" " '{gsub(/ /,"_",$NF)}1' OFS=" " file
dir_/agra_2008_04_07_a 6 scd679 Voice_of_male
dir_/agra_2008_04_07_a 7 scd680 voice_off
dir_/agra_2007_10_01_a 2 scd502 voice_over
dir_/agra_2007_10_08_a 2 scd502 voice_over
它用_
替換最后提交的空間
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.