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 - 它對上面的字串 (18%) 沒有影響,因為它不包含 5。

相關內容