单词是没有空格和\n 的字符序列。在 sed 中编写一个脚本,该脚本将文件名作为参数,该脚本输出文件中恰好包含 4 个单词的行。此外,与正则表达式匹配的每一行,它的第一个单词都必须相乘。
例如 F1 包含:
Hello hi 123
if a equals b
you
one abc two three four
dany uri four 123
如果我们输入 P9.4 F1 脚本文件名为 P9.4 ,输出将是
if if a equals b
dany dany uri four 123
我实际上已经想到了一个解决方案:
sed 's/\(^([ ]*[^ ]\+[ ]\+)[^ ]\+[ ]\+[^ ]\+[ ]\+[^ ]\+[ ]*$\)/\2&/' $1 >>tmp
我收到一个错误:
sed: -e expression #1, char 62: invalid reference \2 on `s' command's RHS