从一行中提取一个单词,对特定数量的行执行此操作

从一行中提取一个单词,对特定数量的行执行此操作

我想从一行中提取一个单词,对特定数量的行执行此操作。

我有这样的东西。

1. Bill 
2. Joe 1
3. Sue 1

我想分别提取“Bill”、“Joe”和“Sue”这三个词。我正在尝试使用该sed命令,但没有成功。

答案1

只需用于cut提取以空格分隔的第二个字段:

cut -d' ' -f2 file.txt

例子:

$ cat file.txt          
1. Bill 
2. Joe 1
3. Sue 1

$ cut -d' ' -f2 file.txt
Bill
Joe
Sue

答案2

您可以用于awk此目的。只需选择并打印第二个字段。

awk '{ print $2 }'

答案3

如果你只有这三行就可以sed 's/[0-9. ]//g' filename 完成这项工作。

选择一行,sed -e '2!d' -e 's/[0-9. ]//g' filename这只是给你Joe作为输出。

相关内容