1
我的輸出是這樣的:擊刪除尾隨字符,直到破折號字母
foo-1_2_3_4_5_bar
foo-6_7_8_9_0_1_2_bar
如何刪除後的字符,所以我得到這樣的輸出:
:foo-1
foo-6
我試過
awk 'sub("..........$", "")
但這是非常不方便的,因爲該字符串可以具有不同的長度。
我的輸出是這樣的:擊刪除尾隨字符,直到破折號字母
foo-1_2_3_4_5_bar
foo-6_7_8_9_0_1_2_bar
如何刪除後的字符,所以我得到這樣的輸出:
:foo-1
foo-6
我試過
awk 'sub("..........$", "")
但這是非常不方便的,因爲該字符串可以具有不同的長度。
sed 's/_.*//'
測試:
kent$ echo "foo-1_2_3_4_5_bar
foo-6_7_8_9_0_1_2_bar"|sed 's/_.*//'
foo-1
foo-6
添加一個awk一行代碼:
awk -F_ '$0=$1'
相同的輸入,輸出相同:
kent$ echo "foo-1_2_3_4_5_bar
foo-6_7_8_9_0_1_2_bar"|awk -F_ '$0=$1'
foo-1
foo-6
保存一個字符,刪除多餘的美元。 – Jens
@Jens你是對的,刪除一美元,並增加了兩美元(awk一行);-)。 – Kent
使用sed比其他選擇更快,因爲我已經使用它來添加一些字符串,並沒有將它作爲變量傳遞。謝謝! – hild