linux命令行:剪切(带空字段)

linux命令行:剪切(带空字段),linux,command-line,cut,Linux,Command Line,Cut,我有一个文件(input.txt),其中的数据列由空格分隔。我想得到第9列的数据以及以后的数据 通常我会: cut -d " " -f 9- input.txt 但是,在该文件中,有时字段由多个空格分隔(每行/每列的空格数不同)。cut似乎没有将连续空格视为一个分隔符 我应该怎么做?您可以使用sed将n空格替换为单个空格: sed -r 's/ +/ /g' input.txt|cut -d " " -f 9- sed -r 's/\ +/\ /g' input.txt | cut -d '

我有一个文件(input.txt),其中的数据列由空格分隔。我想得到第9列的数据以及以后的数据

通常我会:

cut -d " " -f 9- input.txt
但是,在该文件中,有时字段由多个空格分隔(每行/每列的空格数不同)。cut似乎没有将连续空格视为一个分隔符


我应该怎么做?

您可以使用
sed
n
空格替换为单个空格:

sed -r 's/ +/ /g' input.txt|cut -d " " -f 9-
sed -r 's/\ +/\ /g' input.txt | cut -d ' ' -f 9-
只需确保列之间没有任何选项卡