shell中的 處理字元用法

2021-10-01 09:18:31 字數 1161 閱讀 3718

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 當...