質問:
次のデータフィールドがあります
zzzzz: 4
afsdf: 5
sdfsd: 3
orコマンドを4: zzzzz
使用できるように、2つの列の位置をどのように変更しますか?可能であれば、さらに詳しく知るために、いくつかの方法を紹介してください。awk
sed
答え1
以下は一部です。
awk -F": " '/:/{print $2": "$1}' file
sed 's/\(.*\): *\(.*\)/\2: \1/' file
perl -pne 's/(.+?):\s*(.*)/$2: $1/' file
paste <(cut -f 2 -d ' ' file) <(cut -f 1 -d ' ' file | sed 's/://')
while read a b; do echo "$b: $a"; done < file | sed 's/: *$//'
答え2
しかも
perl -ple '$_=join ": ",reverse split /:\s*/' your_file
そして
perl -aF':\s*' -ple '$_=join ": ",reverse @F' your_file