Ⅰ linux下有個文件中有幾個相同的字元串,我想要用命令替換其中的一個有什麼方法,坐等答案
引用了stablish 寫的一個腳本 :
單純的依靠mv命令做不到,需要腳本來實現
編寫腳本 rename 如下
#----------------------------------------------
#!/bin/sh
ls -l $1 | grep ^[^d] | awk ''| while read line; do
do=`echo $line | grep $2`
if [ ! "$do" = "" ]; then
newname=`echo $line | sed 's/'$2'/'$3'/g'`
echo "rename $line to $newname ..."
mv $1/$line $1/$newname
fi
done
#------------------------------------------------
將以上保存為 rename文件,
然後運行
chmod +x rename
使rename可運行
然後按照如下格式執行rename
假設rename在當前路徑
$./rename [fullpathtofiles] .sql.cluster1 .sql
[fullpathtofiles] 指向你的BAOAN102671.sql.cluster1 這些文件的全路徑即可
參考以下我的演示 ,將具體路徑替換到你的即可,實際測試通過
--------------------------------
root@bogon~/testmv# ls
12343234234.sql.cluster1 323423423423.sql.cluster1 sdfdssddd.sql.cluster1
root@bogon~/testmv# cd ..
root@bogon~# ./rename ./testmv/ .sql.cluster1 .sql
rename 12343234234.sql.cluster1 to 12343234234.sql ...
rename 323423423423.sql.cluster1 to 323423423423.sql ...
rename sdfdssddd.sql.cluster1 to sdfdssddd.sql ...
root@bogon~# cd testmv
root@bogon~/testmv# ls
12343234234.sql 323423423423.sql sdfdssddd.sql
Ⅱ 在LINUX中 如何用sed將整行替換成給定字元串
sed -e 's/^.*$/string/' filename
其中string是你要替換的字元串
以上命令是把所有行都替換成某個字元串,如果你要只替換某一行,可以在前面加上行號:
sed -e '3s/.*$/string/' ......
Ⅲ linux如何替換文件中某個字元串
使用seek吧,主要搜這個使用就成,可以查找替換,主要就是正則表達式,
Ⅳ linux 中如何用vi編輯器替換相同的字元
按I進入輸入模式就可以了
然後再按Esc鍵進入末行模式
輸入WQ保存
Q!是退出
Ⅳ Linux批量替換多個文件中字元串
linux批量替換多個文件中字元串linux下批量替換多個文件中的字元串的簡單方法。用sed命令可以批量替換多個文件中的字元串。
用sed命令可以批量替換多個文件中的字元串。sed
-i
s/原字元串/新字元串/g
`grep
原字元串
-rl
所在目錄`例如:我要把mahuinan替換為huinanma,執行命令:sed
-i
s/mahuinan/huinanma/g
'grep
mahuinan
-rl
/www'這是目前linux最簡單的批量替換字元串命令了!具體格式如下:sed
-i
s/oldString/newString/g
`grep
oldString
-rl
/path`實例代碼:sed
-i
s/大小多少/日月水火/g
`grep
大小多少
-rl
/usr/aa`sed
-i
s/大小多少/日月水火/g
`grep
大小多少
-rl
./`
Ⅵ linux命令行替換文件內容
通過你的描述,替換命令如下:
1、tr 命令來進行替換
[root@localhost ss1]# tr '111' '2222222' < aa.txt
2、sed 命令
[root@localhost ss1]# sed 『s/wyf/wzw/g』 ./person.txt
這里使用sed 內置命令s 來實現替換功能,並且使用了全局替換標志g 表示替換文件中匹配wyf的所有字元串。
1、tr 命令在接文件時比較特殊,需要輸入重定向符號 「<」
2、凡是在文本中出現的「111」均應轉換成「222222」,而不是僅僅將單個進行轉換,這個要注意。
3、在使用sed 命令時,要注意一下語法格式,將要替換的文本「wyf」放在第一個和第二個「/」 之間,將替換後的文本「wzw」放到第二個和第三個「/」 之間。這個要注意。
以上就是我的回答,在具體操作時,可能會有出入,如有問題可私信+關注,我會第一時間來進行回復追答,希望我的回答能幫到你。
Ⅶ Linux下vi編譯器下 替換字元操作是什麼命令
:substitute或者縮寫形式:s
:[range]substitute/from/to/[flags]
該命令將由[range]指定的行中的字元串"from"替換為"to"。比如將"Professor"替換為"Teacher":
:%substitute/Professor/Teacher/
%(命令中的[range]部分)表示將此命令作用於所有行,如果省略這一部分,命令將只作用於當前行。
以上命令只將每行中的第一個Professor換為Teacher,如果需要全部替換,必須在[flag]中指定為g:
:%substitute/Professor/Teacher/g
或者:
:%s/Professor/Teacher/g
以上內容及例子全部來自vim用戶手冊。
Ⅷ Linux下的shell編程 如何替換文件中的內容
可以這樣做:
方法1:sed -i 's/被替換的內容/要替換成的內容/' file
方法2:sed 's/被替換的內容/要替換成的內容/g' file > file.out;mv file.out file。
(8)linux字元串替換命令擴展閱讀:
Shell編程的常用技巧:
一、自動補齊:在linux中對於命令或路徑,可以TAB鍵進行自動補全,以下事項需要注意:
1、只存在一個該輸入字元開頭的命令或路徑,此時自動補全;
2、存在多個該輸入字元開頭的命令或路徑,此時第一次點擊TAB鍵無效,此時再次點擊TAB會羅列出所有該字元開頭的命令或路徑,繼續輸入直到僅僅剩一個時自動補全;
3、如果命令已經是完整的,TAB鍵則是本來的移動功能;而路徑的話要看命令自身的行為決定後續動作。
二、歷史命令
1、history命令可以顯示歷史執行過的命令;
2、使用!+序號執行該序號對應的命令;
3、使用!+字元執行該字元開頭的最後一次執行的指令。
三、命令別名
1、實現別名:alias ddd="df -Th";
2、刪除別名:unalias ddd;
3、顯示所有別名命令列表:alias;
4、存放位置:~/.bashrc (加入該文件後,重啟後不會消失)。
四、重定向
1、重定向標准輸入:< 命令接收輸入的途徑由鍵盤改為文件;
2、重定向標准輸出:> 將命令的執行結果輸出到指定文件,而不是直接顯示到屏幕;
3、重定向標准輸出:>> 將命令的執行結果追加輸出到指定文件;
4、重定向標准錯誤:2> 清除指定文件的內容,並把標准錯誤信息保存到指定文件;
5、重定向標准錯誤:2>> 標准錯誤信息追加到指定文件;
6、重定向標准輸出和標准錯誤:&> 將標准輸出、標准錯誤信息全部保存到指定文件,而不是直接顯示在屏幕上。
Ⅸ linux使用sed命令如何替換兩個字元串之間的字元串
root@localhost:~# echo enable="true",url="http://10.25.136.232",showSlider="true",
enable=true,url=http://10.25.136.232,showSlider=true,
root@localhost:~# echo enable="true",url="http://10.25.136.232",showSlider="true",|sed 's@url=".*",s@url="https:\/\/test.com",s@g'
enable=true,url=http://10.25.136.232,showSlider=true,