假设我有一个
形式的文件word word word - word - word word - ...
换句话说,有些词穿插了一些破折号( - )。我怎样才能找到(在UNIX中)849th破折号之后出现的单词?
答案 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