① linux 批量替換某文件夾下的文件名,文件內容,文件夾名稱
1.用for靈活,文件名中字元替換,加日期等都可
先用下面語句測試一下
for
i
in
*aa*
;do
nn=$(echo
$i
|
sed
's/aa/bb/')
;echo
"$nn";done
保險起見,只拷貝
for
i
in
*aa*
;do
nn=$(echo
$i
|
sed
's/aa/bb/')
;cp
"$i"
"$nn";done
這是更名,慎用
for
i
in
*aa*
;do
nn=$(echo
$i
|
sed
's/aa/bb/')
;mv
"$i"
"$nn";done
2.用rename簡潔
先用-n開關測試
rename
-n
's/aa/bb/'
*
測試無誤去掉-n進行更名
rename
's/aa/bb/'
*
② linux下N個文件夾 裡面有同一個文件 這些相同文件怎麼一下全部替換成另一個文件。
樓主,你好!
首先你要有一個思路,N個文件夾下有同一個文件,那麼第一個問題就是找到這個同名文件
比如同名文件名為.txt
find / -name .txt
這樣就查找出你所說的同名文件了
第二個問題就是替換了
比如同名文件名為.txt 需要替換為myself.txt
find / -name .txt | xargs cp -a myself.txt {} \; 這個命令解決不了問題,為什麼呢?
這樣查找替換的話,結果,只是將需要替換的文件內容修改了,文件名卻沒有改變
還是做一個小程序吧
#!/bin/bash
file_path=`find . -name a.txt |awk 'NF-=1' FS="/" OFS="/"`
for i in $file_path
do
cd $i/
rm -f a.txt
cp -R ../b.txt .
done
簡單解決~
③ 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替換文件命令
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為一款電腦操作系統,在電腦中只讀取文件時,可以用新文件來代替,如果需要新的文件代替和替換,要更換一個全新的,可讀寫的文件系統。這樣就可以使用新的文件了。
⑥ linux替換原來文件的命令
可以使用 Linux 系統的拷貝命令 cp,對原來的文件進行替換。例如:
$cp newfile oldfile
該命令的作用就是使用現在 newfile 的內容,替換掉原來 oldfile 的內容。
⑦ linux怎樣將文件覆蓋到另一個文件
linux實用命令之如何移動文件夾及文件下所有文件 格式:mv [選項(option)] 源文件或目錄 目標文件或目錄使用命令:mv webdata /bin/usr/可以延伸一下:mv /usr/lib/* /zone 是將 /usr/lib/下所有的東西移到/zone/中。 mv /usr/lib/*.txt /zone 是將lib下以txt結尾的所有文件移到/zone中。 其他類型,以此類推。具體說明如下:1.作用 mv命令來為文件或目錄改名或將文件由一個目錄移入另一個目錄中。該命令等同於DOS系統下的ren和move命令的組合。它的使用許可權是所有用戶。 2.格式 mv [options] 源文件或目錄 目標文件或目錄 3.[options]主要參數(幾個重要的參數) -i:交互方式操作。如果mv操作將導致對已存在的目標文件的覆蓋,此時系統詢問是否重寫,要求用戶回答」y」或」n」,這樣可以避免誤覆蓋文件。 -f:禁止交互操作。mv操作要覆蓋某個已有的目標文件時不給任何指示,指定此參數後i參數將不再起作用。- r 指示mv將參數中列出的全部目錄和子目錄均遞歸地移動。 4.第二個參數 當第二個參數類型是文件時,mv命令完成文件重命名,它將所給的源文件或目錄重命名為給定的目標文件名。 當第二個參數是已存在的目錄名稱時,
⑧ linux系統替換文件怎麼替換
摘要 您好,您的問題我已經看到了,正在整理答案,請稍等一會兒哦~
⑨ linux批量替換文件夾名,文件名,文件內容命令
1.用for靈活,文件名中字元替換,加日期等都可
先用下面語句測試一下
for
i
in
*aa*
;do
NN=$(echo
$i
|
sed
's/aa/bb/')
;echo
"$NN";done
保險起見,只拷貝
for
i
in
*aa*
;do
NN=$(echo
$i
|
sed
's/aa/bb/')
;cp
"$i"
"$NN";done
這是更名,慎用
for
i
in
*aa*
;do
NN=$(echo
$i
|
sed
's/aa/bb/')
;mv
"$i"
"$NN";done
2.用rename簡潔
先用-n
開關測試
rename
-n
's/aa/bb/'
*
測試無誤去掉-n進行更名
rename
's/aa/bb/'
*
⑩ linux裡面怎麼樣替換文件夾
直接 cp 就完了啊。
假設你要用文件夾B中的文件去覆蓋文件夾A中的文件,不同名的文件都保留,那命令就是:cp -r B/* A