shell提供了簡單強大字串處理方式,有時候需要對path進行處理,通過#%*的搭配使用,可以方便快捷的得到結果。廢話少說,舉例子。
#!/usr/bin/env bash
dir="/dir1/dir2/dir3/abc.def.txt"
echo "dir: $dir"
#刪除最左邊/及其左邊所有字元
process_name=$
echo "#*/: $process_name"
#刪除最右邊/及其左邊所有字元
process_name=$
echo "##*/: $process_name"
#刪除最左邊.及其左邊所有字元
process_name=$
echo "#*.: $process_name"
#刪除最右邊.及其左邊所有字元
process_name=$
echo "##*.: $process_name"
#刪除最右邊/及其右邊所有字元
process_name=$
echo "%/*: $process_name"
#刪除最左邊/及其右邊所有字元
process_name=$
echo "%%/*: $process_name"
#刪除最右邊.及其右邊所有字元
process_name=$
echo "%.*: $process_name"
#刪除最左邊.及其右邊所有字元
process_name=$
echo "%%.*: $process_name"
輸出結果:
dir: /dir1/dir2/dir3/abc.def.txt
#*/: dir1/dir2/dir3/abc.def.txt
##*/: abc.def.txt
#*.: def.txt
##*.: txt
%/*: /dir1/dir2/dir3
%%/*:
%.*: /dir1/dir2/dir3/abc.def
%%.*: /dir1/dir2/dir3/abc
總結:
1.# 是去掉左邊,%是去掉右邊
2.乙個符號匹配首個字元;兩個符號匹配所有字元最後那個
Shell中的字串處理
字串替換 使用隨機字串 命令 dirname命令 basename命令格式 expr substr var1 起始位置 擷取長度 第乙個字元的下標為1 示例 var zxcvb expr substr var 1 3格式 第乙個字元的下標為0,預設從0開始 示例 var zxcvb echo ech...
shell中if的用法
一.概要 1.if與 之間要有空格 2.與判斷條件之間也必須有空格 3.與 之間不能有空格 二.對字串的判斷 1.if str1 str2 then fi 當兩個字串相同時返回真 2.if str1 str2 then fi 當兩個字串不相等時返回真 3.if n str1 then fi 當字串的...
shell中if的用法
出處 一.概要 1.if與 之間要有空格 2.與判斷條件之間也必須有空格 3.與 之間不能有空格 二.對字串的判斷 1.if str1 str2 then fi 當兩個字串相同時返回真 2.if str1 str2 then fi 當兩個字串不相等時返回真 3.if n str1 then fi 當...