我有一个以下格式的文件。
Input File
-----------
01$@!AA$@!Team1$@!01-JUN-2018$@!City2
01$@!AA$@!Team1$@!01-JUL-2018$@!City2
02$@!BB$@!Team2$@!10-JUN-2018$@!City1
02$@!BB$@!Team2$@!10-JUL-2018$@!City1
我想基于定界符($ @!)删除文件中的第3列和第5列。
Output File
-----------
01$@!AA$@!01-JUN-2018
01$@!AA$@!01-JUL-2018
02$@!BB$@!10-JUN-2018
02$@!BB$@!10-JUL-2018
我尝试使用cut命令。使用一个定界符($)可以正常工作,这里我正在使用定界符($ @!)。
答案 0 :(得分:5)
这是一个例子。您可以将字段分隔符设置为$ @!然后打印所需的字段编号(以FS作为分隔符)。这将打印字段1、2和4,不包括3和5:
awk -F'\\$@!' '{print $1 "$@!" $2 "$@!" $4}'
因此,使用您的输入文件,输出将是:
01$@!AA$@!01-JUN-2018
01$@!AA$@!01-JUL-2018
02$@!BB$@!10-JUN-2018
02$@!BB$@!10-JUL-2018