Giu*_*Pes 2 bash awk text sed preg-replace
我想在第一个位置复制colum的第一个值并注释掉旧值.例如 :
word1 word2 1233425 -----> 1233425 word1 word2 #1233425
word1 word2 word3 49586 -----> 49586 word1 word2 word3 #49586
Run Code Online (Sandbox Code Playgroud)
我不知道号码前面的字数.
我尝试使用awk脚本:
awk '{$1="";score=$NF;$NF="";print $score $0 #$score}' file
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
那这个呢?它与你的非常相似.
$ awk '{score=$NF; $NF="#"$NF; print score, $0}' file
1233425 word1 word2 #1233425
49586 word1 word2 word3 #49586
Run Code Online (Sandbox Code Playgroud)
请注意,在您的情况下,您正在清空$1,这是不必要的.只需score按照您的方式存储,然后添加#到开头$NF.
运用 awk
awk '{f=$NF;$NF="#" $NF;print f,$0}' file
Run Code Online (Sandbox Code Playgroud)
既然我们发布了相同的答案,这里是一个较短的变化:)
awk '{$0=$NF FS$0;$NF="#"$NF}1' file
Run Code Online (Sandbox Code Playgroud)
$0=$NF FS$0添加最后一个字段到行
$NF="#"$NF添加#到最后一个字段.
1印刷线