我正在发送命令cut
,但似乎没有任何事情发生。
该命令的输出如下所示:
Name File Info OS
11 FileName1 OS1
12 FileName2 OS2
13 FileName3 OS3
我正在尝试使用以下命令从所有行(从第 2 行开始)中提取第 1,2 列:
my_command | cut -f1,2
并且输出与原始完全相同。
使用多个空格作为分隔符时,剪切效果不佳。改用 awk
mycommand | awk 'NR>1{print $1,$2}'
使用 tr -s 将重复空格转换为单个空格。现在可以在单个空格分隔列的情况下使用 cut。
mycommand | tr -s ' ' | cut -d' ' -f1,2
如果使用多个空格作为分隔符并且列位置是固定的,则可以使用带有 cut 的列号:
mycommand | cut -c1-27
或者您可能会丢失前面的空格:
mycommand | cut -c5-27
即使您的字段具有嵌入的空格,这也将起作用。awk
如果您在字段中嵌入了空格,则该方法将失败。