【发布时间】:2017-04-11 16:19:01
【问题描述】:
我正在尝试编写一个 shell 脚本来切换一行中的第一个和第三个单词。在这种情况下,只有包含字母(大写和小写)的字符串才算作单词,其他所有内容(数字、标点符号、空格)都被视为空格。 例如:
abc123def. ghi...jkl
会变成:
ghi123def. abc...jkl
我尝试了以下方法,但它不起作用:
sed 's/\([a-zA-Z][a-zA-Z]*\)[^A-Z^a-z]\([a-zA-Z][a-zA-Z]*\)[^A-Z^a-z]\([a-zA-Z][a-zA-Z]*\)/\3 \2 \1/' input.txt
【问题讨论】:
-
需要sed吗? awk 通常更适合将行视为单词序列。
-
很遗憾,是的。