コマンド出力で行の特定の部分のみを印刷する

コマンド出力で行の特定の部分のみを印刷する

私のコマンド出力は次のとおりです

                                Name: SLP_DCEMA100BAK01.1M__GBLON500BAK04.6M

 Operation  1                Use for: 0 (backup)

                             Storage: stu_disk_dcema100bak01

                     Retention Level: 3 (1 month)

 Operation  2                Use for: 1 (duplication)

                             Storage: stu_cc_gblon500bak04

                     Retention Level: 6 (6 months)

":" 次の部分だけを印刷したい。

期待される出力は次のとおりです

SLP_DCEMA100BAK01.1M__GBLON500BAK04.6M

0 (backup)

stu_disk_dcema100bak01

3 (1 month)

1 (duplication)

stu_cc_gblon500bak04

6 (6 months)

答え1

:最後の行まで各行のすべての内容を削除するには、次のようにします。

sed 's/.*://'

例えば、

注文| sed 's/.*://'

あなたのデータ(タグの後ろの部分、保存したい部分)にが含まれている可能性がある場合は、:すべてを削除したいと思います。最初 :行から:

sed 's/^[^:]://'

例のように、コロンの後にスペースがあり、それを削除するには、コマンドでコロンの後にスペースを追加します。

sed 's/.*: //'

または

sed 's/^[^:]: //'

答え2

awk -F: '{sub(/^ /,"",$2);print $2}' file

SLP_DCEMA100BAK01.1M__GBLON500BAK04.6M

0 (backup)

stu_disk_dcema100bak01

3 (1 month)

1 (duplication)

stu_cc_gblon500bak04

6 (6 months)

関連情報