UNIX在发生一定数量的' - '后查找单词

时间:2012-09-27 04:18:23

标签: unix numbers

假设我有一个

形式的文件
word word word - word - word word - ...

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

3 个答案:

答案 0 :(得分:1)

(假设数据全部在一行上)

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

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

-d-表示哪些字符描绘了字段,-f2是字段编号。 man cut会告诉你更多信息。

cut -d- -f849 < infile

答案 1 :(得分:0)

试试这个perl one-liner:

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

如果您正在寻找第849个短划线之前的单词:

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

答案 2 :(得分:0)

awk -F"-" '{split($850,a," ");print a[1];}' file