0

假设我有一个格式为

word word word - word - word word - ...

换句话说,一些单词穿插了一些破折号(-)。我怎样才能找到(在 UNIX 中)出现在第 849 个破折号之后的单词?

4

3 回答 3

1

(假设数据都在一行上)

切在这种情况下会是你的朋友

echo "Hello-World-I-Love-You" | cut -d- -f2
> World

-d-表示哪些字符描述了字段并且是-f2字段编号。 man cut会告诉你更多。

cut -d- -f849 < infile
于 2012-09-27T04:26:48.647 回答
0

试试这个 perl 单行:

perl -ne 'print "$2\n" if m{^([^-]+\-){849}\s*(\w+)}' infile;

如果您正在寻找第 849 个破折号之前的单词,请执行以下操作:

perl -ne 'print "$2\n" if m{^([^-]+\-){848}.+?\s*(\w+)\s*\-}' infile;
于 2012-09-27T04:26:27.723 回答
0
awk -F"-" '{split($850,a," ");print a[1];}' file
于 2012-09-27T04:34:07.903 回答