簡體   English   中英

如何通過 awk 將兩個字段分隔符添加到同一個表?

[英]How to add two field separators to same table by awk?

我有一張這樣的桌子

100 行這樣,它是第一行:

25 邁克羅賓 115 DDA

我想像這樣重寫整個表:

25_Mike_Robin 邁克羅賓 115 DDA

我試過:

awk '{OFS="_"}; {print $1, $2, $3} {print $2, $3, $4, $5}' test.txt

Output 就是這樣,它們在不同的行中並且都具有相同的 FS:

25_邁克_羅賓

Mike_Robin_115_DDA

然后我試了這個,但它給了我一個語法錯誤:

awk '{OFS="_"}; {打印 $1, $2, $3}; {OFS="\t"; {print $2, $3, $4, $5}' test.vcf

單線:

awk '{$1=$1"_"$2"_"$3}1' file

示例輸入:

$ cat input
25 Mike Robin 115 DDA
39 Sarah Cook 223 DDC
127 Elizabeth Johnstone 68 XP3

我們重新定義第一個字段的一個awk想法:

$ awk '{$1=$1 "_" $2 "_" $3; print}' input
25_Mike_Robin Mike Robin 115 DDA
39_Sarah_Cook Sarah Cook 223 DDC
127_Elizabeth_Johnstone Elizabeth Johnstone 68 XP3

使用awk

awk '{printf "%s_%s_%s %s %s %s %s\n", $1, $2, $3, $2, $3, $4, $5}' <<< "25 Mike Robin 115 DDA"
25_Mike_Robin Mike Robin 115 DDA

要么

awk '{print $1"_"$2"_"$3" "$2" "$3" "$4" "$5}' <<< "25 Mike Robin 115 DDA"
25_Mike_Robin Mike Robin 115 DDA

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM