2016-09-23 36 views
0

我剛剛接觸shell腳本。我需要從下面的絕​​對路徑中獲取「測試」值並打印出來。如何使用SED命令來實現這一點。請幫忙。使用SED命令從絕對路徑獲取值

/家庭/路/ test_script /日誌

回答

0

你可以試試awk命令:

echo /home/path/test_script/logs | awk -F"/" '{print $4}' | cut -c1-4 

輸出應該是 '測試'。 您也可以通過執行下面的「測試」值賦值給一個變量:

var1=`echo /home/path/test_script/logs | awk -F"/" '{print $4}' | cut -c1-4` 
0

sed代碼先刪除_,什麼是對的正確,那麼/ S和什麼的那些,只留下「測試」

echo /home/path/test_script/logs | sed 's/[_].*//;s,.*/,,g' 

輸出:

test 
1

在我看來AWK更好地執行這項任務。使用-F可以使用多個分隔符,如「/」和「_」:

echo /home/path/test_script/logs | awk -F'/|_' '{print $4}'