Linux shell 字串匹配
最近進行指令碼學習的時候,遇到了字串匹配的問題,網上的內容也很亂,在這裡我就寫一個簡單可行的方法吧。
首先假設一個場景:在一個資料夾裡有很多字尾為sh的檔案,那我怎麼移動除了指定的某些檔案之外檔案到特定資料夾中呢?
具體程式如下(根據程式解決問題):
for file in $(ls *.sh)
do
if echo $file | grep 'move'
then
echo $file
else
mv $file shell/
fi
done
exit 0
在這個程式中,第三行就是實現了字串匹配的功能,它將對所有後綴為sh的檔名進行匹配,檔名內含有move的檔案就顯示出來,而其他的檔案就移動到shell資料夾下。
這就是簡單的字串匹配, 具體格式如下:
echo 字串1 | grep 字串2
它對字串1進行了匹配,如果有字串 2的內容,就返回1,如果沒有字串2的內容就返回0。
這是個使用起來很方便的字串匹配程式,你說呢?
相關推薦
Linux shell 字串匹配
最近進行指令碼學習的時候,遇到了字串匹配的問題,網上的內容也很亂,在這裡我就寫一個簡單可行的方法吧。 首先假設一個場景:在一個資料夾裡有很多字尾為sh的檔案,那我怎麼移動除了指定的某些檔案之外檔案到特定資料夾中呢? 具體程式如下(根
linux shell 字串長度
本篇內容主要包括以下內容: 獲取字串長度的方法 各方法間效能比較 相關內容補充 說明:本篇內容為學習shell 程式設計(老男孩教程) 筆記,部分內容為相關視訊課程內容,補充部
Linux Shell 字串轉數字
原型: value=$((n#${key}Xm)) value:自定義變數得到運算的值 n:欲轉成的進位制數; 2進位制就是2,10進位制就是10 key:字串變數 X:操作符;如+ - * / &... m:運算元 例項1:10進位制字元32加上32
Linux Shell 字串操作(長度/查詢/替換)詳解
在做shell批處理程式時候,經常會涉及到字串相關操作。有很多命令語句,如:awk、sed都可以做字串各種操作。 其實shell內建一系列操作符號,可以達到類似效果,大家知道,使用內部操作符會省略啟動外部程式等時間,因此速度會非常的快。 一、判斷讀取字串值
linux shell 字串操作(長度,查詢,替換)詳解 BASH
在做shell批處理程式時候,經常會涉及到字串相關操作。有很多命令語句,如:awk,sed都可以做字串各種操作。 其實shell內建一系列操作符號,可以達到類似效果,大家知道,使用內部操作符會省略啟動外部程式等時間,因此速度會非常的快。 一、判斷讀取字串值表示式含義${var}變數var的值, 與$var相同
在 Linux shell 字串中,百分比符號是什麼?
當你正在學習如何完全使用 Linux shell 時,你可以能會覺得自己能夠對字串進行操作。 記住,今天q&一個文章的超級使用者對讀者的一個奇怪問題有答案。 今天,回答會話的問題來自超級使用者的堆疊交換,它是一個社群驅動的q&叢集的社群驅動的分組。 這個
linux shell 字串獲取長度、替換、擷取、刪除等操作(持續更新)
測試字串:str=/xxx/file.txt.gz一、長度、變數:說明 表示式 例子 結果 獲取長度 ${#string} ${#str} 16 列出所有以prefix開頭的變數 ${!prefix*}、${!prefix@} ${!st@} str測試${
[Linux]:Bash Shell的字串匹配方法
Bash的字串匹配共有6種形式: 1. ${variable#pattern} 如果pattern匹配variable的開始部分,從variable的開始處刪除字元直到第一個匹配的位置,包括匹配部分,返回剩餘部分。 2. ${variable##pattern} 如果pa
Linux Shell用sed替換匹配的斜槓、大括號等字串的方法
1.去掉字串中的\(斜槓在shell中和java一樣,有轉義含義,所以可以用#作為運算子避免混淆) str='\"saasdadas\"' str=str | sed #\##g' 2.去掉字串中的\
學習Linux shell指令碼中連線字串的方法
這篇文章主要介紹了Linux shell指令碼中連線字串的方法,如果想要在變數後面新增一個字元,可以用一下方法: 程式碼如下: $value1=home $value2=${value1}"=" echo $value2 把要新增的字串變數新增{},並且需要把$放到外面。 這樣輸出的結果
Linux Shell Echo多變數輸出時怪異疊寫現象(某些字串變數中含有\r或\n)
今天利用Linux Shell命令從檔案中擷取一部分文字行資訊 `Cat file | grep someKeyword` 到Shell變數中,然後又用shell字串變數擷取的方法,提取文字行內更準確的字元資訊;利用同樣的操作方法,得到多個字串變數資訊,最後再用echo組合多變數輸出所需要的格式資訊
Linux Shell(一):建立指令碼,變數、字串、陣列、輸入輸出
0.建立一個Shell指令碼: vim abc.sh 1.首行宣告所使用的shell: #!/bin/bash #!是一個特殊的識別符號,其後,跟著解釋此指令碼的shell路徑。 bash只是shell的一種,還有很多其它shell,如:sh,csh,ksh,t
linux shell獲取字串長度的多種方法總結
前言 我們在日常工作中,對於求字串操作在shell指令碼中很常用,實現的方法有很多種,下面就來給大家歸納、彙總了求字串的幾種可能方法,話不多說了,來一起看看詳細的介紹吧。 方法如下: 【方法一】:利用${#str}來獲取字串的長度 【方法二】:利用awk的length方法
linux shell中\w \s \d \b ^ $等常用匹配用法
正則表示式 \w \s \d \b 用法: . 匹配除換行符以外的任意字元 \w 匹配字母或數字或下劃線 \s 匹配任意的空白符 \d 匹配數字
[Linux]shell基礎教程1-變數、字串、陣列、註釋
原創文章,歡迎轉載。轉載請註明:轉載自 祥的部落格 原文連結:https://blog.csdn.net/humanking7/article/details/84504500 文章目錄 @[toc] 環境
linux shell 加法運算,字串split
linux shell 加法運算,陣列,diff不同目錄的名字不同但數量對對應相同 split以空格分割 echo `date` for i in `ls -v 1/`; do c=`ls -v 2/$i` a=(${c// / }) b=0 for j in `l
【Linux】Shell - 字串中插入字元
str="20171125" $ echo ${str:0:4}-${str:4:2}-${str:6} 2017-11-25 取子串 * $ var="get length of me" $ echo ${var:0:3} get $ echo ${var(-2)
[轉+整理]linux shell 將字串分割成陣列
a="one,two,three,four" 要將$a分割開,可以這樣: OLD_IFS="$IFS" IFS="," arr=($a) IFS="$OLD_IFS" for s in ${arr[@]} do echo "$s" done
Linux--shell中字串的擷取
1.在linux中字串的擷取我們可以用一個命令叫做cut,cut主要擷取方法有三種 1)位元組(bytes),用選項-b ,使用方法cut -b/c/f 2)字元(characters),用選
Linux Bash Shell字串分割substring等
近期在做持續整合專案,因為要做高使用性的平臺,公司專案組各業務線打包流程不盡相同,採用了業務藏入指令碼的方式,原有java可實現的操作寫入了指令碼中 指令碼開發中遇到的問題是:原java中的字串分割操作(substring indexOf等)不知道怎麼處理(比如/a/b