【发布时间】:2011-09-25 18:12:18
【问题描述】:
我有一个文件 (input.txt),其中的数据列用空格分隔。我想获取第 9 列及以后的数据。
通常我会这样做:
cut -d " " -f 9- input.txt
但是,在此文件中,有时字段由多个空格分隔(并且每行/列的空格数不同)。 cut 似乎不会将连续的空格视为一个分隔符。
我应该怎么做?
【问题讨论】:
标签: linux command-line cut
我有一个文件 (input.txt),其中的数据列用空格分隔。我想获取第 9 列及以后的数据。
通常我会这样做:
cut -d " " -f 9- input.txt
但是,在此文件中,有时字段由多个空格分隔(并且每行/列的空格数不同)。 cut 似乎不会将连续的空格视为一个分隔符。
我应该怎么做?
【问题讨论】:
标签: linux command-line cut
sed -r 's/ +/ /g' input.txt|cut -d " " -f 9-
【讨论】:
您可以使用sed 将n 空格替换为单个空格:
sed -r 's/\ +/\ /g' input.txt | cut -d ' ' -f 9-
请确保您的列之间没有任何选项卡。
【讨论】: