2015-09-15 58 views

回答

1
echo "$string" | cut -d'_' -f3 

您可以使用sed或grep執行此任務。但由於字符串非常簡單,我不認爲你需要。

0

一種方法是使用bash'cut'命令。下面就是一個例子直接BASH外殼/命令行:

[email protected]$ string='WATSON_AJAY_AB04_DOTHING.data' 
[email protected]$ cut -d '_' -f 3 <<< "$string" 
AB04 <-- outputs the result directly 

(編輯:當然盧卡斯的上面的回答也是一個快速的‘做上述相同的事情之一班輪’ - 他打我它):)

切割將採取_字符作爲分隔符(在-d '_'部分),然後顯示字符串(-f 3部分)的第三片。或者,如果要從內容列表(使用上面的列表)輸出第三個切片,則可以編寫一個簡單的BASH腳本。

首先,將上面的行('WATSON ... etc')保存爲text.txt之類的東西。然後打開你喜歡的文本編輯器和類型:

#!/bin/sh 
cut -d '_' -f 3 < $1 

保存該腳本到一些有用的名稱,比如slice.sh,並確保它是可執行的東西,如chmod 775 slice.sh

然後在命令行中,您可以對文本文件執行腳本,並立即獲得所需文件的部分輸出(在本例中爲第三組文本,用_字符分隔):

$ ./slice.sh text.txt 
AB04 
CK4 
KJ56 
KD323 

希望有所幫助!請記住,以上命令可能會有所不同,具體取決於您所使用的* nix的風格,但至少應指出您的方向是正確的。

相關問題