Linux 输出文件的第二列
给定一个有两列的文件,用标准空格分隔 a b c d f g h a b c d f g H 如何输出第二列Linux 输出文件的第二列,linux,Linux,给定一个有两列的文件,用标准空格分隔 a b c d f g h a b c d f g H 如何输出第二列 cut-d'-f2 awk'{print$2}' 由于示例数据的最后一行没有第一列,因此必须将其作为固定宽度列进行解析: awk 'BEGIN {FIELDWIDTHS = "2 1"} {print $2}' 使用带字节偏移的剪切: cut -b 3 使用sed删除尾随列: sed s/..// cut-c2 listdir 在这里,您可以看到可视化: d代表“delimi
cut-d'-f2
awk'{print$2}'
由于示例数据的最后一行没有第一列,因此必须将其作为固定宽度列进行解析:
awk 'BEGIN {FIELDWIDTHS = "2 1"} {print $2}'
使用带字节偏移的剪切:
cut -b 3
使用sed删除尾随列:
sed s/..//
cut-c2 listdir
在这里,您可以看到可视化:
d代表“delimiter”,以帮助记住示例数据中的这些工作。最后一行只有第二列。它打印出许多空行,我必须尝试剪切-d'-f1 c|awk'{print$1}',但它合并了源文件c中的两列。是的,我刚刚注意到有空白字段。使用James的解决方案,我相信它会解决这个问题。@“James C”fieldswidth=“2 1”是什么意思?第一列宽两个字符,第二列宽一个字符不幸的是,这只适用于简单的示例,根本无法解决一般问题。罗曼的回答是准确的,可以接受的。这只适用于天真的例子;它甚至没有开始解决一般性问题。