如何使用分隔符打印文件中的列?

如何使用分隔符打印文件中的列?

从:

pa: Pensilvania:145
mo:Misuri:50
va:Virginia:20

打印1:

pa:
mo:
va:

打印2:

pa: Pensilvania
mo: Misuri
va:Virginia

sedcut将被优先考虑。

答案1

以下是一种方法:

$ awk -F: '{print $1 FS}' file
pa:
mo:
va:

$ awk -F: '{print $1 FS $2}' file
pa: Pensilvania
mo:Misuri
va:Virginia

如果你愿意的话cut,第二个很简单:

$ cut -d: -f1,2 file
pa: Pensilvania
mo:Misuri
va:Virginia

为了在第一种情况下获取所需的尾随分隔符,您可以使用paste

$ cut -d: -f1 file | paste -d: - /dev/null
pa:
mo:
va:

另一方面轻松使用sed

$ sed 's/:.*/:/' file
pa:
mo:
va:

而第二个则需要多加思考:

$ sed 's/:[^:]*//2' file
pa: Pensilvania
mo:Misuri
va:Virginia

相关内容