このコマンド ラインの sed 's/5//g' はどういう意味ですか?

このコマンド ラインの sed 's/5//g' はどういう意味ですか?

以下は df -h の出力です。

[root@ip-10-0-7-225 ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      8.0G  1.5G  6.6G  18% /
devtmpfs        478M     0  478M   0% /dev
tmpfs           496M     0  496M   0% /dev/shm
tmpfs           496M   13M  484M   3% /run
tmpfs           496M     0  496M   0% /sys/fs/cgroup
tmpfs           100M     0  100M   0% /run/user/1000

そのため、次のコマンドを実行すると、18% と表示されました。

[root@ip-10-0-7-225 ~]# df / | grep / | awk '{ print $5}'| sed 's/5//g'

18%

ポイントは、sed 's/5//g' の部分に変更しても、結果 18% が依然として出力されることです。これはどういうことでしょうか?

答え1

sed 's/5//g'ここで、おそらく、このコマンド ライン全体を入力した人が出力からパーセント記号を削除するつもりだったが、 を忘れてしまい、の代わりにShiftが得られたことを意味します。5%

現在の形式では、出力からsed削除するように指示しますが、これは意味がありません。5

答え2

grep - 最初の行(/ を含む)を grep します

awk - 5列目(18%)を出力します

sed - 5 を何も含まないものに置き換えます - 5 が含まれていないため、上記の文字列 (18%) には影響がありません。

関連情報