总的来说,我在 unix 上还是个新手,我很难弄清楚如何完成我想做的事情。对于看起来像这样的记录:
Name:Alice,ID:2368, Hometown:columbus,bithday:03/11/1988
Name:Bob,ID:2568,Hometown:New York,bithday:04-24-1985
Name:Ted,ID:2368, Hometown:Portland,bithday:06-11-1992
Name:Mark, ID:2218, Hometown:Palo Alto,bithday:04-23-1984
Name:Xiao, ID:2571, hometown:Carson,bithday:07/06/1975
Name:Rain, ID:0264, hometown:little stone,bithday:11-09-1982
Name:Susuan, ID:1261, Hometown:Menlo park,bithday:12-13-1989
Name:Zack, ID:1594, Hometown:columbus,bithday:02-04-1984
我想删除任何以冒号结尾的列,同时不带逗号。
所以某行可能看起来像这样:
Mark 2218 Palo Alto 04-23-1984
我已经查看了一些使用 awk 的示例,到目前为止,这是我的想法:
awk 'BEGIN {FS=":"} ; {for (i=1; i<=NF; i++)
我的思考过程基本上是遍历每一行并说:“如果该字段以冒号结尾,则将其删除并查找以冒号结尾的下一个字段,转到下一行等等。我只是不确定如何要做到这一点,我正在努力,因为到目前为止我看到的所有教程都没有做任何类似的事情。如果有人可以帮助我,我将真诚地感激它!我将非常感谢任何帮助。