shell字串的擷取和替換

2021-09-01 20:24:59 字數 1556 閱讀 4986

將多個空格替換為乙個空格

sed 's/[ ][ ]*/ /g'

如果空格與tab共存時用

sed -e 's/[[:space:]][[:space:]]*/ /g' filename

kill -9 用於強行殺死進行的程序

ps -e | grep 程序名(部分或全部)|cut -b 1-7 |xargs kill -9

ps -e | grep 程序名(部分或全部)|awk ''|xargs kill -9

linux shell substr(分割字串)

在shell中如果遇到要擷取字串的情況,就呼叫awk中的substr來實現。

如,有一字串"20130101235959",現在要擷取第1個到第8個字元的字串區間。

則可以:

[test ~]$ export str="20130101235959"

[test ~]$ echo $

20130101

[test ~]$ unset str

[test ~]$date --date="20130101" +%y-%m-%d

2013-01-01

從以上第二個表示式可以看出這個用法,即:$

可以歸納為:$,且支援表示式,如:11-3。

shell字串的擷取的問題:

一、linux shell 擷取字元變數的前8位,有方法如下:

1.expr substr "$a" 1 8

2.echo $a|awk ''

3.echo $a|cut -c1-8

4.echo $

5.expr $a : '\(.\\).*'

6.echo $a|dd bs=1 count=8 2>/dev/null

二、按指定的字串擷取

1、第一種方法:

$ 從左向右擷取最後乙個string後的字串

$從左向右擷取第乙個string後的字串

$從右向左擷取最後乙個string後的字串

$從右向左擷取第乙個string後的字串

「*」只是乙個萬用字元可以不要

例子:$ myvar=foodforthought.jpg

2、第二種方法:$:擷取變數varible從n1到n2之間的字串。

可以根據特定字元偏移和長度,使用另一種形式的變數擴充套件,來選擇特定子字串。試著在 bash 中輸入以下行:

$ exclaim=cowabunga

$ echo $

cow$ echo $

abunga

這種形式的字串截斷非常簡便,只需用冒號分開來指定起始字元和子字串長度。

三、按照指定要求分割:

比如獲取字尾名

ls -al | cut -d "." -f2

字串擷取和字串替換

substring 叫做擷取字串,split叫做字串分割 substring擷取,下面是從第0位擷取前3個 說白了是從第一位擷取前3個 中的0索引就是我們常說的第一位 列印結果 用一生 split擷取,下面是通過 擷取,把字元分為6部分 string txta 用,一,生,下,載,你 string ...

OC字串的擷取和替換

擷取字串 1.從指定位置 引數 from 開始擷取 擷取到最後 包含指定位置的字元 nsstring substringfromindex nsuinteger from 2.從開頭開始擷取 到指定位置結束 不包含指定位置 nsstring substringtoindex nsuinteger t...

C 字串的擷取和替換

1 取字串的前n個字元 1 string str1 str.substring 0,n 2 string str1 str.remove i,str.length n 2 去掉字串的前n個字元 string str1 str.remove 0,n string str1 str.substring ...