shell腳本用法筆記

分割字符串

OLD_IFS=$IFS
IFS=" "
read arg1 arg2 arg3 <<< "$args"
IFS=$OLD_IFS

去掉首尾空格

echo "   k1=v1   " | awk '{$1=$1; print}'
k1=v1

字符串包含、開頭、結尾

if [[ "$text" == "startsWith"* ]]; then
elif [[ "$text" == *"endWith" ]]; then
elif [[ "$text" == *"value"* ]]; then
fi

輸出匹配內容行號

cat $file | grep -n $text | awk -F ':' '{print $1}'

數組元素動態(tài)添加

array=()
array+=( a1 )
array+=( a2 )

sed替換內容包含特殊字符

# 用|號當分隔符
sed -i "/^${pkey}=/ s|.*|${pkey}=${pval}|" ${prop_path}

刪除匹配內容行

sed -i "/^key=/d" $file

在匹配內容的行上面插入一行

sed -i "${mask}i${line}" $path

指定行數內容替換

sed -i "${ln}c${line}" $path

刪除從某行到某行內容

sed -i "${ln},${cl}d" $path

字符串字符轉義 / 成 /

echo ${dir} | sed 's/\//\\\//g'

將字符串頭幾個字符替換

#  /system/etc/test.prop -> /data/etc/test.prop
echo "/system/etc/test.prop" | sed "s/^.\{8\}/\/data\//")"

參數切割,讀取第5個參數后面參數

echo "$@" | cut -d ' ' -f 6-"

字符串,號換空格

data_value="$(echo ${data_value} | sed 's/,/ /g')"

讀取第N行內容

nline="$(sed -n "${cl}p" $path | awk '{$1=$1; print}')"

簡單 if else 合并

[ "open" = "${STATE}" ] && $(set_root 1) || $(set_root 0)

取出文件名

# /data/local/test.png 取出 test
basename $/data/local/test.png
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容