假设我有一个格式为
word word word - word - word word - ...
换句话说,一些单词穿插了一些破折号(-)。我怎样才能找到(在 UNIX 中)出现在第 849 个破折号之后的单词?
(假设数据都在一行上)
切在这种情况下会是你的朋友
echo "Hello-World-I-Love-You" | cut -d- -f2
> World
-d-
表示哪些字符描述了字段并且是-f2
字段编号。 man cut
会告诉你更多。
cut -d- -f849 < infile
试试这个 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;
awk -F"-" '{split($850,a," ");print a[1];}' file