行の最初と3番目の単語を切り替えるシェルスクリプトを作成しようとしています。この場合、英字(大文字と小文字の両方)を含む文字列だけが単語としてカウントされ、その他のすべて(数字、句読点、空白)は空白とみなされます。たとえば :Sed - 行内の2つの単語を切り替える方法
abc123def. ghi...jkl
がに変わるでしょう:
ghi123def. abc...jkl
私は次のことを試してみましたが、それは動作しません:sed
で
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は一般に、単語のシーケンスとして行を処理するのに適しています。 –
残念ながら、はい。 – user3529379