我有一个包含以下信息的文件
organic_apple;2;organic_apple_212_212
organic_tomato;3;organic_tomato_24_29
fruit_juice;5;fruit_juice_15_15
所以我想要一个包含输出的文件
organic_apple;2;organic_apple_212
organic_tomato;3;organic_tomato_24_29
fruit_juice;5;fruit_juice_15
比较最后两个字段,如果它们是同一个显示一次,如果没有,则显示它们 我使用solaris在unix bash中写作
答案 0 :(得分:2)
无论下划线数量多少,都要比较最后两个:
awk 'BEGIN{FS=OFS="_"}$NF==$(NF-1){--NF;$1=$1}1' test.in
答案 1 :(得分:1)
试试这个:
awk -vOFS=_ -F_ '{if ($2 == $3) print $1, $2; else print $1, $2, $3}' file.txt
答案 2 :(得分:0)
此脚本删除最后一个字段,如果它等于最后一个字段:
awk -F "_" '$NF==$(NF-1){$NF=""}1' file