区切り文字の前にパターンを追加する

区切り文字の前にパターンを追加する

区切り文字の前にパターンを追加するコマンドを探しています。

私のとげ:

1 |Chris|ubuntu

これは私の区切り文字であり、|この入力で文字列を生成したいと思います。

出力

1 = ID and Chris = Name and Ubuntu = OS

時には私の入力に2つの値しかありません。仮定すると、2 | Ram値があり、区切り文字がないため、次のように印刷する必要があります。

2=ID and Ram=Name

だから、field1 + "and" + field2 + "and" + field3。入力文字列でfield3が使用できない場合に使用されますfield1 + "and" + field2

ベストアンサー1

awk -F '|' '
            { printf("%d = ID and %s = Name", $1, $2) } 
    NF == 3 { printf(" and %s = OS", $3) }
            { printf("\n") }' file

これは生成されます

1 = ID and Chris = Name and ubuntu = OS
2 = ID and  Ram = Name

与えられたデータについて。このawkコードは最初の2つのフィールドをprintfフォーマットテンプレートに挿入します。 3番目のフィールドが利用可能な場合、オペレーティングシステムの部分は同じ行に出力されます。その後、行は改行文字で終わります。

おすすめ記事