両側が互いに交換されるように、コロン間の文字を変更したいと思います。
例: 入力
1: Hello
2: World
3: I
4: am
5: Brendan
出力:
Hello: 1
World: 2
I: 3
am: 4
Brendan: 5
私はcutとsedを試しましたが、正しい方法が見つかりませんでした。
ベストアンサー1
あなたはこれを試すことができますawk
awk 'BEGIN{FS=OFS=": "}{print $2, $1}' file.txt
または、sedに-E
オプションがあります。
sed -E 's/(.+): (.+)/\2: \1/' file.txt
または、より遅い(最も遅いわけではありませんが)シェルソリューションです。
while IFS=": " read -r first second; do
printf '%s: %s\n' "$second" "$first"
done < file.txt