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