linux shell腳本字符串分割的幾種方法?
shell腳本字符串分割的幾種方法?Read-P“input string(用空格分割):”string#要提示您輸入字符串,您可以在此處輸入STR1=echo$string | cut-D“”-F1
shell腳本字符串分割的幾種方法?
Read-P“input string(用空格分割):”string#要提示您輸入字符串,您可以在此處輸入
STR1=echo$string | cut-D“”-F1#要按空格分割輸入字符串,請取第一個字段
STR2=echo$string | cut-D”-F2#要按空格分割輸入字符串,取第二個字段(field)
str3=echo$string | cut-D “”-F3#根據(jù)空格拆分輸入字符串,取第三個字段(field)
echo$STR1#顯示第一個字段
echo$STR2#顯示第二個字段
echo$str3#顯示第三個字段
cut命令,-D選項表示使用的分隔符,-f選項指示使用的字段
1。刪除前導空格
sed的//^[t]*//g“
注意:
第一個/的左邊是s,這意味著用null替換空格。
在第一個/的右側,表示以下以XX開頭。
括號表示“或”,空格或制表符。這是正則表達式的規(guī)范。
括號右側是*,表示一個或多個。
第二個和第三個之間沒有任何內(nèi)容,這表示空
g表示替換原始緩沖區(qū)(buffer)。Sed在處理字符串時不直接處理源文件。首先,它創(chuàng)建了一個緩沖區(qū),但是添加g意味著替換原來的緩沖區(qū)
總的意思是:將一個或多個以空格或制表符開頭的本體字符串替換為空字符
2。刪除行尾的空格
sed的/[t]*$//g“
與上面的稍有不同,因為前面的^符號被刪除,后面的美元符號被添加,這意味著以XX結尾的字符串被作為對象。
但請注意,在KSH中,制表符不是T,而是制表符。
3. 刪除所有空格
sed s/[:Space:
//g
shell中如何去掉字符串中間的空格?
使用此腳本文件,編輯它,然后執(zhí)行它。
#! bin/bash
s=“1000 1011”
echo$s | grep“>/dev/null 2>&1
如果[$?=0]然后num1=$(echo$s | awk“{print$1}”
num2=$(echo$s | awk“{print$2}”
echo“num1”
echo“num2=$num2”
else echo“no spaces”
fi