行の文字列を置き換える

行の文字列を置き換える

私は次の行を持っています:

    400 january    ####
    304 april    ####
    151 may    ####
    126 june    ####
    115 august    ####
     98 december    ####

私は彼らが次のように見えることを望みます:

####  january    400 
####  april    304
####  may    151     
####  june    126     
####  august    115   
####  december    98

このコマンドを試しましたが、成功しませんでした。

 sed -E 's/(.*)(.*)(.*) /\3 \2 \1/'

ベストアンサー1

より簡単な方法は次のとおりです。

awk '{print $3," "$2,"   "$1}' file

awk3、2、1列のみを印刷し、3番目と2番目の列の間には2つのスペースがあり、2番目と1番目の列の間には4つのスペースがあります。

出力:

####  january    400
####  april    304
####  may    151
####  june    126
####  august    115
####  december    98

ファイルをローカルで編集するには、次のコマンドを使用します。

awk -i inplace '{print $3," "$2,"   "$1}' file

おすすめ記事