當前位置:首頁 » 操作系統 » linux替換文件的命令

linux替換文件的命令

發布時間: 2022-11-02 09:19:20

『壹』 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最簡單的批量替換字元串命令了!

具體格式如下:

實例代碼:

『貳』 linux批量替換文件夾名,文件名,文件內容命令

1.批量改名採用命令rename

rename 語法:
rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]
-v表示顯示詳細信息,-n表示不實際執行替換,只是看哪些文件會受影響。 -f 表示強制,不管是否有重名。

perlexpr是perl語法的表達式, files則是匹配項。因此,該命令執行結果與perlexpr有關,不一定就是改文件名。
實例: 將所有文件名*.html 改為對應的.htm
rename 's//.html$//.htm$/' *.html

去bak後綴
rename 's//.bak$//' *.bak

將文件名大寫改為小寫
rename 'y/A-Z/a-z/' *

但rename不能遞歸修改。

2.遞歸改名,用find+rename
將文件名的abc改為xyz
find . -name "abc*" -exec rename 's/abc/xyz/' {} /;
該命令可以將當前目錄下所有子目錄的文件都改名。

3.內容替換,用find+sed
將所有ablo 替換為ablozhou
find . -type f -exec sed -i -e "s/ablo/ablozhou/g" {} /;
sed 命令 -i 表示 --in-place,文件原地替換。-e 後跟替換表達式

『叄』 linux替換文件命令

1、這么就用不會提示了:#
\cp
-rf
2、
原因:
#
vi
~/.bashrc
如果你看到如下內容,以下命令都會用別名執行了,就是說自動加了
-i
參數:
alias
rm='rm
-i'
alias
cp='cp
-i'
alias
mv='mv
-i'
為了讓復制和移動大量文件去覆蓋目標時,不會產生一個個的提示,命令應該這樣寫
#
\cp
-rf
/data/xxx*
/home/xxx
注意
cp
命令前加了
\
,意思是不讓它用~/.bashrc里的別名運行,即
-i
參數
3、補充cp該命令的各選項含義如下
-
a
該選項通常在拷貝目錄時使用。它保留鏈接、文件屬性,並遞歸地拷貝目錄,其作用等於dpR選項的組合。
-
d
拷貝時保留鏈接。
-
f
刪除已經存在的目標文件而不提示。
-
i
和f選項相反,在覆蓋目標文件之前將給出提示要求用戶確認。回答y時目標文件將被覆蓋,是互動式拷貝。
-
p
此時cp除復制源文件的內容外,還將把其修改時間和訪問許可權也復制到新文件中。
-
r
若給出的源文件是一目錄文件,此時cp將遞歸復制該目錄下所有的子目錄和文件。此時目標文件必須為一個目錄名。
-
l
不作拷貝,只是鏈接文件。
4、需要說明的是,為防止用戶在不經意的情況下用cp命令破壞另一個文件,如用戶指定的目標文件名是一個已存在的文件名,用cp命令拷貝文件後,這個文件就會被新拷貝的源文件覆蓋,因此,建議用戶在使用cp命令拷貝文件時,最好使用i選項。

『肆』 linux替換原來文件的命令

可以使用 Linux 系統的拷貝命令 cp,對原來的文件進行替換。例如:
$cp newfile oldfile
該命令的作用就是使用現在 newfile 的內容,替換掉原來 oldfile 的內容。

『伍』 linux之文本內容替換命令sed

sed簡介:流編輯工具,用來對文本進行過濾與替換操作。

sed流程:sed通過一次僅讀取一行內容來對某些指令進行處理後輸出。

1、sed通過文件或管道讀取文件內容,但sed默認並不直接修改源文件,而是將讀入的內容復制到緩沖區中,稱之為模式空間。
2、所有的指令操作都是在模式空間找那個進行
3、sed根據相應的指令對模式空間中的內容進行處理並輸出結果,默認輸出至標准輸出(即屏幕上)。

sed基本語法格式:
用法:sed[選項]...{腳本指令}[輸入文件]...
選項: -version 顯示sed版本
-help :顯示幫助文檔
-n,-quiet,-silent靜默輸出,默認情況下,sed程序在所有的腳本指令執行完畢後,將自動列印模式空間中的內容。
-e script允許多個腳本指令被執行
-f script-file從文件中讀取腳本指令,對編寫自動化腳本程序很實用
-i ,-in-place 該選項直接修改源文件
-l N 該選項指定l指令可以輸出的行長度,l指令為輸出非列印字元。
-posix 禁用GNU sed擴展功能。
-r 在腳本指令中使用擴展正則表達式。
-s,-separate 默認情況下,sed將把輸入的多個文件名作為一個長的連續的輸入流。而GNU sed則允許把它們當作單獨的文件。
-u,-unbuffered 最低限度的緩存輸入與輸出
a,append表示追加指令;
i,insert表示插入指令;
d,delete表示刪除指令;
s,substitution表示替換指令。
sed腳本指令的基本格式是:
[地址,即路徑]命令(有些命令僅可以對一行操作,有些可以對多行操作),命令也可以用花括弧進行組合,使命令序列可以作用於同一個地址。
address{
command1
command2
command3
}

sed的基本工作方式是:

sed的替換命令s:

1、全局替換 : s/old/new/g ,其中g為全局替換,用於替換所有出現的次數; /如果和正則匹配的內容沖突可以使用其他符號,如 : s@old@new@g
2、標志位

為什麼要有多行模式: 配置文件一般有單行出現,但也有使用json或XML格式的配置文件,為多行出現。
多行模式處理命令N、D、P

『陸』 Linux 編輯文本命令

一、vi編輯器有3種基本工作模式
分別是:命令模式、文本輸入模式、和末行模式。

第一:命令行模式:
該模式是進入vi編輯器後的默認模式。任何時候,不管用戶處於何種模式,按下ESC鍵即可進入命令模式。在該模式下,用戶可以輸入vi命令,用戶管理自己的文檔。此時從鍵盤上輸入的任何字元都被當作編輯命令來解釋。若輸入的字元是合法的vi命令,則vi在接受用戶命令之後完成相應的動作。但需要注意的是,所輸入的命令並不回顯在屏幕上。若輸入的字元不是vi命令,vi會響鈴報警。

第二:文本輸入模式:
在命令模式下輸入命令i、附加命令a、打開命令o、修改命令c、取代命令r或替換命令s都可以進入文本輸入模式。在該模式下,用戶輸入的任何字元都被vi當作文件內容保護起來,並將其顯示在屏幕上。在文本輸入過程中,若想回到命令模式下,按ESC鍵即可。

第三:末行模式:
末行模式也稱ex轉義模式。在命令模式下,用戶按「:」鍵即可進入末行模式下,此時vi會在顯示窗口的最後一行(通常也是屏幕的最後一行)顯示一個「:」作為末行模式的說明符,等待用戶輸入命令。多數文件管理命令都是在此模式下執行的(如把編輯緩沖區的內容寫到文件中等)。末行命令在執行完後,vi自動回到命令模式。如果要從命令模式轉換到編輯模式,可以鍵入a或者i。如果需要從文本模式返回,則按ESC即可。在命令模式下輸入「:」即可切換到末行模式,然後輸入命令。

實例演示
首先我們使用命令 vi filename 打開一個文件,這個時候進入到的是命令模式

接下來我們按i,然後鍵盤隨便輸入寫內容。

然後按ESC重新進入到命令模式。

在命令模式的情況下,我們按:,進入到了末行模式。

我們輸入wq!,然後回車,強行保存退出。

下次我們再打開對應文件(可用less filename命令打開),即可看到內容已經更改。

補充:

(1)末行模式下:q! 【強制退出不保存】 q【退出不保存】 wq【退出並保存後面也可以加個!】

(2)如果你不想保存直接退出有可以在命令模式下使用「ctrl+z」快捷鍵或者按住「shift」鍵,輸入兩個z即可退出。

更多命令
進入vi的命令:
vi filename :打開或新建文件,並將游標置於第一行首

vi +n filename :打開文件,並將游標置於第n行首

vi + filename :打開文件,並將游標置於最後一行首

vi +/pattern filename:打開文件,並將游標置於第一個與pattern匹配的串處

vi -r filename :在上次正用vi編輯時發生系統崩潰,恢復filename

vi filename….filename :打開多個文件,依次進行編輯

屏幕翻滾類命令:
Ctrl+u:向文件首翻半屏

Ctrl+d:向文件尾翻半屏

Ctrl+f:向文件尾翻一屏

Ctrl+b;向文件首翻一屏

nz:將第n行滾至屏幕頂部,不指定n時將當前行滾至屏幕頂部。

插入文本類命令:
i :在游標前

I :在當前行首

a:游標後

A:在當前行尾

o:在當前行之下新開一行

O:在當前行之上新開一行

r:替換當前字元

R:替換當前字元及其後的字元,直至按ESC鍵

s:從當前游標位置處開始,以輸入的文本替代指定數目的字元

S:刪除指定數目的行,並以所輸入文本代替之

ncw或nCW:修改指定數目的字

nCC:修改指定數目的行

刪除命令:
ndw或ndW:刪除游標處開始及其後的n-1個字

do:刪至行首

d$:刪至行尾

ndd:刪除當前行及其後n-1行

x或X:刪除一個字元,x刪除游標後的,而X刪除游標前的

Ctrl+u:刪除輸入方式下所輸入的文本

搜索及替換命令:
/pattern:從游標開始處向文件尾搜索pattern

?pattern:從游標開始處向文件首搜索pattern

n:在同一方向重復上一次搜索命令

N:在反方向上重復上一次搜索命令

:s/p1/p2/g:將當前行中所有p1均用p2替代

:n1,n2s/p1/p2/g:將第n1至n2行中所有p1均用p2替代

:g/p1/s//p2/g:將文件中所有p1均用p2替換

撤銷回退命令:
u 撤銷上一步的操作

Ctrl+r 恢復上一步被撤銷的操作

選項設置:
all:列出所有選項設置情況

term:設置終端類型

ignorance:在搜索中忽略大小寫

list:顯示製表位(Ctrl+I)和行尾標志($)

number:顯示行號

report:顯示由面向行的命令修改過的數目

terse:顯示簡短的警告信息

warn:在轉到別的文件時若沒保存當前文件則顯示NO write信息

nomagic:允許在搜索模式中,使用前面不帶「\」的特殊字元

nowrapscan:禁止vi在搜索到達文件兩端時,又從另一端開始

mesg:允許vi顯示其他用戶用write寫到自己終端上的信息

末行模式命令:
:n1,n2 co n3:將n1行到n2行之間的內容拷貝到第n3行下

:n1,n2 m n3:將n1行到n2行之間的內容移至到第n3行下

:n1,n2 d :將n1行到n2行之間的內容刪除

:w :保存當前文件

:e filename:打開文件filename進行編輯

:x:保存當前文件並退出

:q:退出vi

:q!:不保存文件並退出vi

:wq:保存並退出

:!command:執行shell命令command

:n1,n2 w!command:將文件中n1行至n2行的內容作為command的輸入並執行之,若不指定n1,n2,則表示將整個文件內容作為command的輸入

:r!command:將命令command的輸出結果放到當前行

寄存器操作:

「?nyy:將當前行及其下n行的內容保存到寄存器?中,其中?為一個字母,n為一個數字

「?nyw:將當前行及其下n個字保存到寄存器?中,其中?為一個字母,n為一個數字

「?nyl:將當前行及其下n個字元保存到寄存器?中,其中?為一個字母,n為一個數字

「?p:取出寄存器?中的內容並將其放到游標位置處。這里?可以是一個字母,也可以是一個數字

ndd:將當前行及其下共n行文本刪除,並將所刪內容放到1號刪除寄存器中。

『柒』 Linux下的shell編程 如何替換文件中的內容

可以這樣做:

方法1:sed -i 's/被替換的內容/要替換成的內容/' file

方法2:sed 's/被替換的內容/要替換成的內容/g' file > file.out;mv file.out file。

(7)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下如何通過一條命令快速文本編輯,刪除、增加和替換

處理foo文件,內容輸出到foo1

sed 2d foo| sed '$a\4' | sed 's#a:b#c:b#g' >foo1
直接對foo處理

sed -i 2d foo | sed -i '$a\4' foo | sed -i 's#a:b#c:b#g' foo

『玖』 linux系統替換文件怎麼替換

摘要 您好,您的問題我已經看到了,正在整理答案,請稍等一會兒哦~

熱點內容
安卓的AndroidAuto 發布:2025-05-13 19:41:49 瀏覽:357
下載安裝python 發布:2025-05-13 19:39:21 瀏覽:27
蘋果手機如何退出ad密碼 發布:2025-05-13 19:35:24 瀏覽:353
資本論中央編譯局 發布:2025-05-13 19:21:50 瀏覽:134
python路徑是否存在 發布:2025-05-13 19:08:38 瀏覽:570
保時捷卡宴哪個配置比較好 發布:2025-05-13 19:00:08 瀏覽:725
c語言負數運算 發布:2025-05-13 18:45:21 瀏覽:428
太空殺電腦版連接不到伺服器 發布:2025-05-13 18:40:19 瀏覽:457
同樣的配置為什麼跑分不同 發布:2025-05-13 18:39:06 瀏覽:279
獲取linuxcpu序列號 發布:2025-05-13 18:36:35 瀏覽:738