當前位置:首頁 » 編程軟體 » linux腳本替換字元串

linux腳本替換字元串

發布時間: 2023-01-26 03:04:33

❶ 總結linux替換字元串的幾種方法

換個角度,替換/bin為/bin就不會有錯啦
echo ${path/\/bin/\/bin} 其中/前面要加轉義符\

或者用sed來替換,
echo $path | sed 's#/bin#/bin#g'格式為s#a#b#,將a替換為b。
後面加個g表示全局替換,即替換所有出現的。
也可以這樣寫:
echo $path | sed 's#[^s]bin#/bin#g'[^s]在正則中表示不是s的一個字元。這里只有兩種情況,一種是sbin,一種是/bin,這樣sbin就可以被排除了。

❷ linux shell 腳本 字元串替換問題

shell腳本中,單引號內的$是不被解釋的
perl支持雙引號嗎?改成雙引號試試

❸ linux替換文件中的字元串怎麼使用

(一)通過vi編輯器來替換。
參考博文:
http://www.linuxdiyf.com/viewarticle.php?id=99843
http://kingaragorn.javaeye.com/blog/467308

vi/vim 中可以使用 :s 命令來替換字元串。以前只會使用編輯軟體進行替換,今天發現該命令有很多種寫法(vi 真是強大啊,還有很多需要學習),記錄幾種在此,方便以後查詢。

:s/well/good/ 替換當前行第一個 well 為 good

:s/well/good/g 替換當前行所有 well 為 good

:n,$s/well/good/ 替換第 n 行開始到最後一行中每一行的第一個 well 為 good

:n,$s/well/good/g 替換第 n 行開始到最後一行中每一行所有 well 為 good

n 為數字,若 n 為 .,表示從當前行開始到最後一行

:%s/well/good/(等同於 :g/well/s//good/) 替換每一行的第一個 well 為 good

:%s/well/good/g(等同於 :g/well/s//good/g) 替換每一行中所有 well 為 good

可以使用 # 作為分隔符,此時中間出現的 / 不會作為分隔符

:s#well/#good/# 替換當前行第一個 well/ 為 good/

:%s#/usr/bin#/bin#g

可以把文件中所有路徑/usr/bin換成/bin

(二)Sumly法直接替換文件中的字元串。(此法不用打開文件即可替換字元串,而且可以批量替換多個文件。)
例1
執行命令:
perl -p -i -e "s/China/Sumly/g" /www/*.htm /www/*.txt

上面的意思是說將www文件夾下所有的htm和txt文件中的「China」都替換為「Sumly」

例2
執行命令:
perl -p -i -e "s/memory_proction/memory_proction2/g" ./*.sql

上面的意思是將當前目錄下所有的sql文件中的「memory_proction」替換成「memory_proction2」

❹ linux 下用shell sed替換文本中的字元串

sed是行編輯器,用這個工具非常困難。可以參考以下腳本:

#!/bin/bash
while read line
do
if echo $line | grep 'Hour$' >/dev/null; then
echo $line | tr -d '\n'
else
echo $line
fi
done < $1

1,將上面腳本保存為fuck.sh
2,chmod 755 fuck.sh
3,./fuck.sh file

❺ linux替換文件中的字元串怎麼使用

可以通過shell腳本替換字元串方式,如果知道第幾行,格式如下:
hello
字元串內容可能是任意字元串,如何把>和<中間的字元串替換為我的字元串比如world
具體例子:
比如要替換第128行
sed
-i
'128s/>.*world
'
test.txt
這樣子</pre
評論
0
0
載入更多

❻ 如何在linux環境下實現txt文本的字元串替換

#!/usr/bin/python
import
sys
fin=open(sys.argv[1])
fout=open(sys.argv[1]+'.new',"w")
line=fin.readline()
while
line!='':
line=line.replace(sys.argv[2],sys.argv[3])
fout.write(line)
line=fin.readline()
fin.close()
fout.close()
各linux里基本都有python的,將上面保存為rp.py,替換某文件中字元串格式
./rp.py
~/tmp.txt
aaa
xxx
將自己家目錄中的tmp.txt中所有aaa替換為xxx
新產生的文件也在tmp.txt目錄中,叫tmp.txt.new

❼ linux如何替換文件指定行的特定位置字元串

可以通過Shell腳本替換字元串方式,如果知道第幾行,格式如下:

<string id="str_ig_ghjjk">hello</string>

字元串內容可能是任意字元串,如何把>和<中間的字元串替換為我的字元串比如world

具體例子:
比如要替換第128行
sed -i '128s/>.*</>world</' test.txt
這樣子

❽ SHELL腳本對LINUX下指定文本文件的滿足條件的行的特定位置字元串進行替換

YDAY=$(date+"%Y%m%d"-d"-1days")
TDAY=$(date+"%Y%m%d")
awk-vYDAY=$YDAY-vTDAY=$TDAY'
NR==1{
if(substr($0,20,8)==YDAY)
$0=substr($0,1,19)TDAYsubstr($0,28)
if(substr($0,34,8)==YDAY)
$0=substr($0,1,33)TDAYsubstr($0,42)
}
/^TH/{
if(substr($0,21,8)==YDAY)
$0=substr($0,1,20)TDAYsubstr($0,29)
}
{print}'文件名

❾ linux怎麼批量替換文件內容

方法一:

使用perl ,命令如下:

下面這個例子就是將當前目錄及所有子目錄下的所有pom.xml文件中的

」http://repo1.maven.org/maven2「

替換為

」http://localhost:8081/nexus/content/groups/public「.

這里用到了Perl語言,

perl -pi -e 在Perl 命令中加上-e 選項,後跟一行代碼,那它就會像運行一個普通的Perl 腳本那樣運行該代碼.

從命令行中使用Perl 能夠幫助實現一些強大的、實時的轉換。認真研究正則表達式,並正確地使用,將會為您省去大量的手工編輯工作。

方法二:

使用sed命令如下:

Linux下批量替換多個文件中的字元串的簡單方法。用sed命令可以批量替換多個文件中的字元串。

例如:我要把aaa替換 為bbb,執行命令:

這是目前linux最簡單的批量替換字元串命令了!

具體格式如下:

實例代碼:

❿ 在red hat enter linux中用怎麼替換字元串

sed。
在linux中可以利用sed命令來查找和替換文件中的字元串,該命令採用的是流編輯模式,可以根據正則表達式匹配和處理文本文件中的數據,替換語法為「sed」s/要搜索的字元串或正則表達式/替換值/g'要執行操作的文件名」。

熱點內容
門鎖鑰匙密碼盒價格多少 發布:2023-02-03 11:52:02 瀏覽:955
DX引擎源碼 發布:2023-02-03 11:50:15 瀏覽:452
神舟最低配置平板怎麼下載軟體 發布:2023-02-03 11:49:28 瀏覽:503
java數組合並 發布:2023-02-03 11:47:02 瀏覽:836
伺服器阿里雲伺服器 發布:2023-02-03 11:39:00 瀏覽:974
小米視頻的緩存在哪裡 發布:2023-02-03 11:36:53 瀏覽:555
2022es雷克薩斯改款買哪個配置 發布:2023-02-03 11:36:52 瀏覽:820
將域名轉為ip地址的伺服器 發布:2023-02-03 11:36:03 瀏覽:396
oracle存儲過程定義對象 發布:2023-02-03 11:31:15 瀏覽:997
即時通的伺服器地址 發布:2023-02-03 11:29:05 瀏覽:30