是否可以将某些.txt文件中的某些列移动到另一个.txt文件中?
我有一个包含以下内容的.txt:
USERID:ORDER#:IP:PHONE:ADDRESS:POSTCODE
USERID:ORDER#:IP:PHONE:ADDRESS:POSTCODE
有了gawk,我想提取ADDRESS& POSTCODE列转换为另一个.txt,因此对于此给定文件,输出应为:
ADDRESS1:POSTCODE1
ADDRESS2:POSTCODE2
等
答案 0 :(得分:0)
试试:
awk -F: '{printf "%s:%s ",$5,$6}' ex.txt
输入
USERID:ORDER#:IP:PHONE:ADDRESS1:POSTCODE1
USERID:ORDER#:IP:PHONE:ADDRESS2:POSTCODE2
输出(如果我理解的话,在一行上)
ADDRESS1:POSTCODE1 ADDRESS2:POSTCODE2
唯一的默认值是它以尾随空格结尾,并且不以换行符结尾。
可以通过稍微复杂(但仍然可读)修复:
awk -F: 'BEGIN {z=0;} {if (z==1) { printf " "; } ; z=1; printf "%s:%s",$5,$6} END{printf"\n"}' ex.txt
答案 1 :(得分:0)
这是一款经典的AWK变换。您想使用“-F:”指定输入由“:”分隔,并在输出上打印新的“:”:
<interactive>:1:6: parse error on input ‘=’
答案 2 :(得分:0)
awk -F: 'NR==1 {print $5"1:"$6"1"};NR==2 {print $5"2:"$6"2"}' file
ADDRESS1:POSTCODE1
ADDRESS2:POSTCODE2