導航:首頁 > 操作系統 > renamelinuxc

renamelinuxc

發布時間:2022-08-10 16:47:29

linux中的c語言如何給一個文件重命名

列: 將test重命名為unfile

mvtestunfile

⑵ 用linux c語言編寫 為一個文件裡面的內容的每一行添加一個指定的字元

1.打開你要修改的文件A,
2.創建一個臨時文件B,
3. while(沒到達文件A末尾)
從A中讀取一行,寫到B中,然後寫入你要追加的內容,寫入換行符
4.關閉文件A,關閉文件B,
5.刪除文件A(用remove函數),重命名B為A(用rename函數)

⑶ 怎麼給一個文件重命名 linux

雖然Linux沒有重命名文件和文件夾命令,但是還是可以重命名文件的,重命名文件和文件夾是用mv命令,mv命令是移動文件的命令,但它還一個功能就是重命名,重命名的使用格式是:
mv
原來的文件名
新文件名

⑷ C語言中 rename 的用法

rename函數功能是給一個文件重命名,用該函數可以實現文件移動功能,把一個文件的完整路徑的盤符改一下就實現了這個文件的移動。具體參見下面的程序示例說明。
頭文件:在Visual
C++6.0中用stdio.h或者io.h

法:
int
rename(char
*oldname,
char
*newname);
程序例:
#include
int
main(void)
{
char
oldname[80],
newname[80];
/*
prompt
for
file
to
rename
and
new
name
*/
printf("File
to
rename:
");
gets(oldname);
printf("New
name:
");
gets(newname);
/*
Rename
the
file
*/
if
(rename(oldname,
newname)
==
0)
printf("Renamed
%s
to
%s.\n",
oldname,
newname);
else
perror("rename");
return
0;
}
執行過程:
File
to
rename:
D:\\in.dat
New
name:
G:\\in.dat
Renamed
D:\\in.dat
to
G:\\in.dat.
這樣就實現了in.dat從D盤移動到G盤。
在unix或linux系統中:
#include
int
rename(const
char
*oldname,
const
char
*newname);
函數說明
(1)
如果oldname為一個文件而不是目錄,那麼為該文件更名。在這種情況下,如果newname作為一個目錄已存在,則它不能重命名一個目錄。如果newname已存在,而且不是一個目錄,則先將其刪除然後將oldname更名為newname。對oldname所在目錄以及newname所在的目錄,調用進程必須具有寫許可權,因為將更改這兩個目錄。
(2)
如若oldname為一個目錄,那麼為該目錄更名。如果newname已存在,則它必須是一個目錄,而且該目錄應當是空目錄(空目錄指的是該目錄中只有.
和..
項)。如果newname存在(而且是一個空目錄),則先將其刪除,然後將oldname更名為newname。另外,當為一個目錄更名時,newname不能包含oldname作為其路徑前綴。例如,不能將/usr更名為/usr/foo/testdir,因為老名字(
/usr/foo)是新名字的路徑前綴,因而不能將其刪除。
(3)
作為一個特例,如果oldname和newname引用同一文件,則函數不做任何更改而成功返回。
返回值
執行成功則返回0,失敗返回-1,錯誤原因存於errno
範例
#include
int
main(int
argc,char
**argv)
{
if(argc
<
3)
{
printf("Usage:
%s
old_name
new_name\n",argv[0]);
return
-1;
}
printf("%s
=>
%s\n",
argv[1],
argv[2]);
if(rename(argv[1],
argv[2])
<
0
)
printf("error!\n");
else
printf("ok!\n");
return
0;
}

⑸ linux c語言rename失敗

文件rename失敗
有以下原因:
1、你沒有讀寫許可權操作該文件
2、你重新命名的文件已經存在 了
3、大批量同時操作,導致很多進程或者線程都在操作同一文件,造成了資源爭奪。
4、你重新命名的文件名字含有特殊符號。

⑹ 如何把linux下c版本的rename改為perl版本的腳本

在linux系統把perl腳本使用chmod更改為可執行文件後有以下問題需要請教...
答:Q2:在編譯的perl中會有中文,請問是否可以顯示中文? 可以顯示中文 Q3:經過chmod處理後的可執行文件,是否可以翻譯為perl語言?然後重新修改腳本? chmod只是改變屬性,不影響perl。因此,可以以翻譯為perl語言或重新修改腳本. Q1.中的Genesis...

⑺ linux下怎麼樣重命名文件

這兩天在使用Ubuntu系統上進行開發軟體的安裝,一直遇到創建的android
Studio圖標無法使用的問題,創建的圖標提示「應用程序啟動錯誤」。在網上也找了很多文章,都是說文件夾中包含空格。但是文件路徑確實沒包含空格,但是包含-,即"android-studio",所以准備重命名進行嘗試,但是遇到"bareword
not
allowed"的問題。
Linux下對文件重命名有兩種命令:
mv
,rename
mv很簡單,move文件移動
mv
/dir/file1
/dir2/file1
兩個參數,第一個是源文件,第二個是目的地,如果第二個參數文件名不一樣,則會重命名。
當兩個參數不帶目錄,只有文件名時,那就是重命名了。這是單個文件的重命名。
rename
arg1
arg2
arg3
rename才是真正的批量重命名命令。而且他是3個參數,不是2個。
arg1:舊的字元串
arg2:新的字元串
arg3:匹配要重命名的文件,可以使用3種通配符,*、?、[char],*表示任意多個字元,?表示單個字元,[char]匹配char單個自定的精確字元,可以填寫任意字元,foo[a]*表示只匹配fooa開頭的文件名,如果一個文件是foobcc.txt,是不會被匹配的。
值的注意的是,此命令在不同的Linux版本也有不同,Debian一系的操作系統別有用法。舉例說明:
比如/home下有兩個文件
abbcc.txt,
addbb.txt
,
a.txt
我想把a替換為xxx,命令是這樣的

rename
「a」
「xxx」
*.txt
那麼它會首先去匹配有哪些文件需要修改,這里凡是.txt後綴的文件都會被匹配,如果改成?.txt則只會匹配到一個文件,那就是a.txt。然後把匹配到的文件中的a字元替換為xxx,注意測試時abab.txt這樣的,只會替換第一個a,有待再了解。
說到Debian一系的操作系統,比如Ubuntu,這個命令這樣使用是不對的,報錯,向下面這樣的:
Bareword
「a」
not
allowed
while
「strict
subs」
in
use
at
(eval
1)
line
1.
經過Google之後發現有這樣的說法:
On
Debian-based
distros
it
takes
a
perl
expression
and
a
list
of
files.
you
need
to
would
need
to
use:
rename
『s/foo/foox/』
*
這里是一個perl表達式,好理解點說就是綜合了前兩個參數為1個,這樣就只需要2個參數,而非上面所說的3個參數形式。
所以在Ubuntu下執行上面舉例的重命名時,命令是這樣的:rename
『s/a/xxx/』
*.txt

⑻ C語言rename函數用法

rename函數功能是給一個文件重命名,用該函數可以實現文件移動功能,把一個文件的完整路徑的盤符改一下就實現了這個文件的移動。具體參見下面的程序示例說明。
頭文件:在Visual C++6.0中用stdio.h或者io.h
用 法: int rename(char *oldname, char *newname);
程序例:
#include
int main(void)
{
char oldname[80], newname[80];
/* prompt for file to rename and new name */
printf("File to rename: ");
gets(oldname);
printf("New name: ");
gets(newname);
/* Rename the file */
if (rename(oldname, newname) == 0)
printf("Renamed %s to %s.\n", oldname, newname);
else
perror("rename");
return 0;
}
執行過程:
File to rename: D:\\in.dat
New name: G:\\in.dat
Renamed D:\\in.dat to G:\\in.dat.
這樣就實現了in.dat從D盤移動到G盤。
在unix或linux系統中:
#include
int rename(const char *oldname, const char *newname);
函數說明
(1) 如果oldname為一個文件而不是目錄,那麼為該文件更名。在這種情況下,如果newname作為一個目錄已存在,則它不能重命名一個目錄。如果newname已存在,而且不是一個目錄,則先將其刪除然後將oldname更名為newname。對oldname所在目錄以及newname所在的目錄,調用進程必須具有寫許可權,因為將更改這兩個目錄。
(2) 如若oldname為一個目錄,那麼為該目錄更名。如果newname已存在,則它必須是一個目錄,而且該目錄應當是空目錄(空目錄指的是該目錄中只有. 和.. 項)。如果newname存在(而且是一個空目錄),則先將其刪除,然後將oldname更名為newname。另外,當為一個目錄更名時,newname不能包含oldname作為其路徑前綴。例如,不能將/usr更名為/usr/foo/testdir,因為老名字( /usr/foo)是新名字的路徑前綴,因而不能將其刪除。
(3) 作為一個特例,如果oldname和newname引用同一文件,則函數不做任何更改而成功返回。
返回值 執行成功則返回0,失敗返回-1,錯誤原因存於errno
範例
#include
int main(int argc,char **argv)
{
if(argc < 3)
{
printf("Usage: %s old_name new_name\n",argv[0]);
return -1;
}
printf("%s => %s\n", argv[1], argv[2]);
if(rename(argv[1], argv[2]) < 0 )
printf("error!\n");
else
printf("ok!\n");
return 0;
}

⑼ Linux中如何進行文件的重命名操作

1、mv
mv fromfile tofile
如把文件a.txt得命名為b.txt,可以是mv a.txt b.txt。
mv一次只能重命名一個文件,而且,它是移動命令。如果tofile已經存在的話,會直接裝原文件覆蓋,從而造成文件的丟失。當然有選項可以對已存在的文件進行提示,但是,我表示,那個選項我還真不常用。綜合這兩點考慮,還是決定看看rename吧。
2、rename
rename frompart topart filename 或者 rename 's/frompart/topart/' filename
如把文件a.txt得命名為b.txt,可以是rename 'a' 'b' a.txt (這個沒有試過,看網上別人說的,是這樣子的。)還可以是:rename 's/^a/b/' a.txt

在有的系統之上,用前面的那句可以通過,在有的系統之上,用後面的這個可以通過。兩個不一樣,一個是C的,一個是perl的。明顯看出,後面這條是正則表達式的寫法。具體採用哪一種方式,可以man rename,在手冊頁的最後一行看版本。由於我使用的系統rename的版本是Perl的,所以我只能採用後面的這一種方式。
rename 強大 的地方在於,你可以使用*,?等,對所有符合條件的文件名進行批量修改。而你在使用mv的時候,只能採用寫腳本,用循環的方式來解決。

⑽ linux中如何用rename命令重命名一個文件

用法如下:

$ rename [options] [perlexpr] [files]

PS:

(1)options

-v 顯示成功重命名的文件-n 只顯示將被重命名的文件,但是不進行重命名-f 如果文件已存在,覆蓋-e 表明需要需要被執行的code,如果沒有-e,那麼第一個參數將被當成code。

(2)perlexpr

這是一個Perl表達式,文件名應當在其中被改變,沒學過Perl也沒關系,這個命令用到的語法很像sed,容易上手。

(3)files

需要重命名的文件。

(10)renamelinuxc擴展閱讀:

linux中如何用rename命令重命名一個文件示例:

1、去除文件擴展名

$ rename 's/.bak$//' *.bak

2、去除文件名中的空格

$ rename 's/ //g' *

3、文件名轉為小寫

$ rename 'y/A-Z/a-z/' *

4、現在有一堆文件,他們的文件名模式是這樣的第一部分-haha-第二部分.file ,現在要把中間的-haha- 刪去並把第一部分的字元串和第二部分的字元串對調,可以這樣:

$ rename 's/(.*)-haha-(.*)(.file)/$2$1$3/' *.file

閱讀全文

與renamelinuxc相關的資料

熱點內容
android線程池框架 瀏覽:476
手機自帶解壓能解壓哪些文件 瀏覽:800
linux安裝hba驅動 瀏覽:111
java構造函數new 瀏覽:664
怎麼查家裡電器耗電量app 瀏覽:506
原神一直顯示重新連接伺服器怎麼辦 瀏覽:826
一般用途軸流式壓縮機 瀏覽:926
沒學歷的怎麼學編程 瀏覽:901
華為的隱藏相冊無法加密 瀏覽:782
聯通套餐app怎麼設置 瀏覽:752
關於刪除鏈表的演算法描述 瀏覽:894
標准盤和壓縮盤的區別 瀏覽:46
銀行存款驗證碼JAVA編程 瀏覽:111
word轉pdf軟體免費版 瀏覽:139
公主連結安卓台服怎麼下載 瀏覽:550
注冊江蘇銀行app怎麼注冊 瀏覽:800
中興怎麼下載app視頻 瀏覽:679
伺服器審計是什麼 瀏覽:518
華為刪除的app怎麼徹底卸載 瀏覽:574
編程時調試快捷鍵 瀏覽:6