真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

linux命令分割,linux切分文件命令

如何將linux文件分割為幾個(gè)

Linux中分割文件用split命令,這個(gè)命令可以將一個(gè)文件分割成指定大小的多個(gè)文件,split命令的用法是:

成都創(chuàng)新互聯(lián)專注于集美網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供集美營(yíng)銷型網(wǎng)站建設(shè),集美網(wǎng)站制作、集美網(wǎng)頁(yè)設(shè)計(jì)、集美網(wǎng)站官網(wǎng)定制、微信平臺(tái)小程序開(kāi)發(fā)服務(wù),打造集美網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供集美網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。

split -b 分割的大小 需要分割的文件名 分割后文件的前導(dǎo)文字

這里解釋一下,-b參數(shù)表示按照文件大小單位來(lái)進(jìn)行分割(split命令還有一個(gè)-l參數(shù),是根據(jù)文本文件的行數(shù)來(lái)進(jìn)行分割,這個(gè)-b參數(shù)是根據(jù)大小來(lái)分割的),-b參數(shù)后面跟的是分割的依據(jù)——文件大小,文件大小的單位可以是b、k、m,比如300m?!胺指詈笪募那皩?dǎo)文字”是干嘛的呢,其實(shí)是在分割后的文件名前面加上一個(gè)前綴。下面是一個(gè)例子,就假設(shè)需要分割的文件是/root/bigfile:

split -b 50m /root/bigfile chunk

這條命令產(chǎn)生的分割文件可能是:chunkaa、chunkab、chunkac,看到前導(dǎo)文字的作用了吧。

那么如何將分割后的文件再合并起來(lái)呢,還是接著上面的那個(gè)例子,用下面這條命令就可以了(先用cd /root切換到/root目錄):

cat chunk* bigfile

linux下使用split命令分割文件且文件號(hào)從001開(kāi)始

1、Linux里切割大文件的命令如下:

split?[OPTION]?[INPUT?[PREFIX]]?

選項(xiàng)如下:

-a :?指定后綴長(zhǎng)度

-b?:?每個(gè)文件多少字節(jié)

-d?:?使用數(shù)字后綴而不是字母

-l?:?指定每個(gè)文件的行數(shù)

2、比如我想讓后綴長(zhǎng)度為 2,即 -a 2。用數(shù)字后綴 -d。每個(gè)文件 10M,即 -b 10m。命令可以設(shè)計(jì)如下:

split?-a?2?-d?-b?10m?/var/lib/mysql/general.log?nowamagic

會(huì)在 /root 文件夾下生成下面的切割文件:

nowamagic00?

nowamagic01?

nowamagic02?

nowamagic03?

nowamagic04?

nowamagic05?

nowamagic06?

nowamagic07?

nowamagic08?

nowamagic09

linux常用命令有哪些

linux 常用命令有:

pwd 命令

使用 pwd 命令找出您所在的當(dāng)前工作目錄(文件夾)的路徑。該命令將返回一個(gè)絕對(duì)(完整)路徑,該路徑基本上是所有以 / 開(kāi)頭的目錄的路徑。絕對(duì)路徑的一個(gè)示例是 /home/username。

cd 命令

要瀏覽 Linux 文件和目錄,請(qǐng)使用 cd 命令。根據(jù)您所在的當(dāng)前工作目錄,它需要目錄的完整路徑或名稱。假設(shè)您位于 /home/username / Documents 中,并且想要轉(zhuǎn)到 Documents 的子目錄 Photos。為此,只需鍵入以下命令:cd Photos。另一種情況是,如果您想切換到一個(gè)全新的目錄,例如 /home/username / Movies。在這種情況下,您必須輸入 cd,然后輸入目錄的絕對(duì)路徑:cd /home/username / Movies。有一些快捷方式可幫助您快速導(dǎo)航:cd ..(帶有兩個(gè)點(diǎn))將一個(gè)目錄向上移動(dòng) cd 直接轉(zhuǎn)到主文件夾 cd-(帶連字符)移動(dòng)到上一個(gè)目錄附帶說(shuō)明一下,Linux 的 shell 是區(qū)分大小寫的。因此,您必須準(zhǔn)確輸入名稱的目錄。

ls 命令

LS 命令用于查看目錄的內(nèi)容。默認(rèn)情況下,此命令將顯示當(dāng)前工作目錄的內(nèi)容。如果要查看其他目錄的內(nèi)容,請(qǐng)鍵入 ls,然后鍵入目錄的路徑。例如,輸入 LS / 家 / 用戶名 / 文檔查看的內(nèi)容的文件。您可以使用 ls 命令使用以下變體:ls -R 還將列出子目錄中的所有文件 ls -a 將顯示隱藏的文件 ls -al 將列出文件和目錄以及詳細(xì)信息,例如權(quán)限,大小,所有者等。

cat 命令

cat(連接的縮寫)是 Linux 中最常用的命令之一。它用于在標(biāo)準(zhǔn)輸出(sdout)上列出文件的內(nèi)容。要運(yùn)行此命令,請(qǐng)鍵入 cat,然后輸入文件名及其擴(kuò)展名。例如:cat file.txt。以下是使用 cat 命令的其他方法:cat filename 創(chuàng)建一個(gè)新文件 cat filename1 filename2 filename3 連接兩個(gè)文件(1 和 2),并將它們的輸出存儲(chǔ)在新文件中(3)將文件轉(zhuǎn)換為大寫或小寫使用,cat filename | tr a-z A-Z output.txt

cp 命令

使用 cp 命令將文件從當(dāng)前目錄復(fù)制到另一個(gè)目錄。例如,命令 cp scenery.jpg/home /username/ Pictures 將在您的 Pictures 目錄中創(chuàng)建一個(gè) Scene.jpg 副本(來(lái)自當(dāng)前目錄)。

mv 命令

mv 命令的主要用途是移動(dòng)文件,盡管它也可以用于重命名文件。mv 中的參數(shù)類似于 cp 命令。您需要輸入 mv,文件名和目標(biāo)目錄。例如:mv file.txt/home /username/ Documents。

mkdir 命令

使用 mkdir 命令創(chuàng)建一個(gè)新目錄 - 如果鍵入 mkdir Music,它將創(chuàng)建一個(gè)名為 Music 的目錄。還有一些額外的 mkdir 命令:要在另一個(gè)目錄中生成新目錄,請(qǐng)使用此 Linux 基本命令 mkdir Music / Newfile 使用 p(父級(jí))選項(xiàng)在兩個(gè)現(xiàn)有目錄之間創(chuàng)建一個(gè)目錄。例如,mkdir -p Music / 2022 / Newfile 將創(chuàng)建新的 “2022” 文件。

rmdir 命令

如果需要?jiǎng)h除目錄,請(qǐng)使用 rmdir 命令。但是,rmdir 僅允許您刪除空目錄。

rm 命令

該 RM 命令用于刪除目錄以及其中的內(nèi)容。如果只想刪除目錄(作為 rmdir 的替代方法),請(qǐng)使用 rm -r。注意:使用此命令時(shí)要格外小心,并仔細(xì)檢查您所在的目錄。這將刪除所有內(nèi)容,并且沒(méi)有撤消操作。

touch 命令

該觸摸命令允許您創(chuàng)建通過(guò) Linux 命令行新的空白文件。例如,輸入 touch /home/username/Documents/Web.html 在 Documents 目錄下創(chuàng)建一個(gè)名為 Web 的 HTML 文件。

locate 命令

您可以使用此命令來(lái)定位文件,就像 Windows 中的搜索命令一樣。此外,將 - i 參數(shù)與該命令一起使用將使其不區(qū)分大小寫,因此即使您不記得其確切名稱,也可以搜索文件。要搜索包含兩個(gè)或多個(gè)單詞的文件,請(qǐng)使用星號(hào)(*)。例如,locate -i school * note 命令將搜索包含單詞 “school” 和 “ note” 的任何文件,無(wú)論它是大寫還是小寫。

find 命令

在類似定位命令,使用 查找也搜索文件和目錄。區(qū)別在于,您可以使用 find 命令在給定目錄中查找文件。例如,find /home/-name notes.txt 命令將在主目錄及其子目錄中搜索名為 notes.txt 的文件。使用查找時(shí)的其他變化 是:要查找當(dāng)前目錄中使用的文件,請(qǐng)使用 find . -name notes.txt 要查找目錄,請(qǐng)使用 /-type d -name notes. txt13. grep 命令無(wú)疑對(duì)日常使用很有幫助的另一個(gè)基本 Linux 命令是 grep。它使您可以搜索給定文件中的所有文本。為了說(shuō)明這一點(diǎn),grep blue notepad.txt 將在記事本文件中搜索單詞 blue。包含搜索到的單詞的行將被完整顯示。

sudo 命令

該命令是 “SuperUser Do” 的縮寫,使您能夠執(zhí)行需要管理或超級(jí)用戶權(quán)限的任務(wù)。但是,建議不要將此命令用于日常使用,因?yàn)槿绻鲥e(cuò)了一些事情,很容易發(fā)生錯(cuò)誤。

df 命令

使用 df 命令可獲取有關(guān)系統(tǒng)磁盤空間使用情況的報(bào)告,以百分比和 KB 表示。如果要以兆字節(jié)為單位查看報(bào)告,請(qǐng)輸入 df -m。

du 命令

如果要檢查文件或目錄占用了多少空間,答案是 du(磁盤使用情況)命令。但是,磁盤使用情況摘要將顯示磁盤塊號(hào),而不是通常的大小格式。如果要以字節(jié),千字節(jié)和兆字節(jié)為單位查看它,請(qǐng)?jiān)诿钚兄刑砑?- h 參數(shù)。

head 命令

所述頭命令用于查看任何文本文件的第一行。默認(rèn)情況下,它將顯示前十行,但是您可以根據(jù)自己的喜好更改此數(shù)字。例如,如果只想顯示前五行,則鍵入 head -n 5 filename.ext。

tail 命令

該命令與 head 命令具有相似的功能,但是 tail 命令將顯示文本文件的最后十行,而不是顯示第一行。例如,tail -n filename.ext。

diff 命令

diff 命令是差異的縮寫,diff 命令逐行比較兩個(gè)文件的內(nèi)容。分析文件后,它將輸出不匹配的行。程序員在需要進(jìn)行程序更改時(shí)經(jīng)常使用此命令,而不是重寫整個(gè)源代碼。此命令最簡(jiǎn)單的形式是 diff file1.ext file2.ext

tar 命令

該 tar 命令是最常用的命令歸檔多個(gè)文件到一個(gè)壓縮包。類似于 zip 格式常見(jiàn)的 Linux 文件格式,壓縮是可選的。該命令具有很長(zhǎng)的功能列表,非常復(fù)雜,例如將新文件添加到現(xiàn)有檔案中,列出檔案內(nèi)容,從檔案中提取內(nèi)容等等。查看一些實(shí)際示例,以了解有關(guān)其他功能的更多信息。

chmod 命令

chmod 是另一個(gè) Linux 命令,用于更改文件和目錄的讀取,寫入和執(zhí)行權(quán)限。由于此命令相當(dāng)復(fù)雜,因此您可以閱讀完整的教程以正確執(zhí)行它。

chown 命令

在 Linux 中,所有文件均歸特定用戶所有。該 CHOWN 命令使您可以更改或文件的所有權(quán)轉(zhuǎn)讓給指定的用戶名。例如,chown linuxuser2 file.ext 將使 linuxuser2 成為 file.ext 的所有者。

Jobs 命令

jobs 命令將顯示所有當(dāng)前作業(yè)及其狀態(tài)。作業(yè)基本上是由 Shell 啟動(dòng)的進(jìn)程。

kill 命令

如果您的程序無(wú)響應(yīng),則可以使用 kill 命令手動(dòng)終止它。它將向運(yùn)行異常的應(yīng)用發(fā)送特定信號(hào),并指示該應(yīng)用自行終止。您總共可以使用 64 個(gè)信號(hào),但是人們通常只使用兩個(gè)信號(hào):SIGTERM(15) — 請(qǐng)求程序停止運(yùn)行,并給它一些時(shí)間來(lái)保存其所有進(jìn)度。如果在輸入 kill 命令時(shí)未指定信號(hào),則將使用此信號(hào)。SIGKILL(9) - 強(qiáng)制程序立即停止。未保存的進(jìn)度將丟失。除了知道信號(hào)之外,您還需要知道要?dú)⑺赖某绦虻倪M(jìn)程標(biāo)識(shí)號(hào)(PID)。如果您不知道 PID,只需運(yùn)行命令 ps ux。在知道您要使用什么信號(hào)以及程序的 PID 之后,輸入以下語(yǔ)法:kill [signal option] PID.

ping 命令

使用 ping 命令檢查與服務(wù)器的連接狀態(tài)。例如,只需輸入 ping google.com,該命令將檢查您是否能夠連接到 Google 并測(cè)量響應(yīng)時(shí)間。

wget 命令

Linux 命令行非常有用 - 您甚至可以在 wget 命令的幫助下從 Internet 下載文件。為此,只需鍵入 wget,然后輸入下載鏈接即可。

uname 命令

該 UNAME 命令,短期對(duì)于 Unix 名,將打印您的 Linux 系統(tǒng),如計(jì)算機(jī)名稱的詳細(xì)信息,操作系統(tǒng),內(nèi)核,等等。

top 命令

作為與 Windows 中的任務(wù)管理器等效的終端,top 命令將顯示正在運(yùn)行的進(jìn)程的列表以及每個(gè)進(jìn)程使用的 CPU 數(shù)量。監(jiān)視系統(tǒng)資源使用情況非常有用,尤其是知道哪個(gè)進(jìn)程由于消耗太多資源而需要終止時(shí)。

history 命令

當(dāng)您使用 Linux 一段時(shí)間后,您會(huì)很快注意到每天可以運(yùn)行數(shù)百個(gè)命令。因此,如果您想查看之前輸入的命令,運(yùn)行歷史記錄命令特別有用。

man 命令

對(duì)某些 Linux 命令的功能感到困惑嗎?不用擔(dān)心,您可以使用 man 命令從 Linux 的外殼程序中輕松地學(xué)習(xí)如何使用它們。例如,輸入 man tail 將顯示 tail 命令的手動(dòng)指令。

echo 命令

此命令用于將一些數(shù)據(jù)移到文件中。例如,如果要將文本 “Hello,我的名字叫 John” 添加到名為 name.txt 的文件中,則可以鍵入 echo Hello, my name is John name.txt

zip,unzip 命令

使用 zip 命令將文件壓縮到 zip 歸檔文件中,然后使用 unzip 命令從 zip 歸檔文件中提取壓縮文件。

hostname 命令

如果您想知道主機(jī) / 網(wǎng)絡(luò)的名稱,只需鍵入 hostname。在末尾添加 - I 將顯示您的網(wǎng)絡(luò)的 IP 地址。

useradd,userdel 命令

linux下將文件按行分割的命令

1)按2行切割 -l 2

2)指定切割后的文件前綴名 data_

3)指定切割后的文件后綴名為數(shù)字 -d

4)指定切割后的文件后綴名數(shù)字的長(zhǎng)度? ? -a 4,即位寬(10進(jìn)制),這里長(zhǎng)度可根據(jù)切割出來(lái)的文件有多少估算,到底拆分為幾個(gè)文件,由總行數(shù),和每個(gè)文件的行數(shù)決定,不用指定。

如果為-a 4文件的后綴數(shù)字從0000開(kāi)始計(jì)算,依次為0001,0002,0003,0004

split -l 2 data.log -d -a 4 data_

將文件data.log進(jìn)行拆分,每個(gè)文件2行,如果文件總共有7行,則分為data_0000,data_0001,data_0002,data_0003

Linux里面分割,切片是什么?

在Linux最常用的文件生成和切片工具是dd,它功能比較全面,但無(wú)法以行為單位提取文件數(shù)據(jù),也無(wú)法直接將文件按大小或行數(shù)進(jìn)行均分(除非借助循環(huán))。另兩款數(shù)據(jù)分割工具split和csplit能夠比較輕松地實(shí)現(xiàn)這些需求。csplit是split的升級(jí)版。

1.1 dd命令

從if指定的文件讀取數(shù)據(jù),寫入到of指定的文件。使用bs指定讀取和寫入的塊大小,使用count指定讀取和寫入的數(shù)據(jù)塊數(shù)量,bs和count相乘就是文件總大小??梢灾付╯kip忽略讀取if指定文件的前多少個(gè)塊,seek指定寫入到of指定文件時(shí)忽略前多少個(gè)塊。

dd if=/dev/zero of=/tmp/abc.1 bs=1M count=20

if是input file,of是output file;bs有c(1byte)、w(2bytes)、b(512bytes)、kB(1000bytes)、K(1024bytes)、MB(1000)、M(1024)和GB、G等幾種單位。因此,不要隨意在單位后加上字母B。

假設(shè)現(xiàn)有文件CentOS.iso的大小1.3G,需要將其切分后還原,切分的第一個(gè)小文件大小為500M。

dd if=/tmp/CentOS.iso of=/tmp/CentOS1.iso bs=2M count=250

生成第二個(gè)小文件,由于第二個(gè)小文件不知道具體大小,所以不指定count選項(xiàng)。由于第二個(gè)小文件要從第500M處開(kāi)始切分,于是需要忽略CentOS.iso的前500M。假設(shè)bs=2M,于是skip掉的數(shù)據(jù)塊數(shù)量為250。

dd if=/tmp/CentOS.iso of=/tmp/CentOS2.iso bs=2M skip=250

現(xiàn)在CentOS.iso=CentOS1.iso+CentOS2.iso??梢詫entOS[1-2].iso還原。

cat CentOS1.iso CentOS2.iso CentOS_m.iso

比較CentOS_m.iso和CentOS.iso的md5值,它們是完全一樣的。

shell md5sum CentOS_m.iso CentOS.iso

504dbef14aed9b5990461f85d9fdc667 CentOS_m.iso

504dbef14aed9b5990461f85d9fdc667 CentOS.iso

那么seek選項(xiàng)呢?和skip有什么區(qū)別?skip選項(xiàng)是忽略讀取時(shí)的前N個(gè)數(shù)據(jù)塊,而seek是忽略寫入文件的前N個(gè)數(shù)據(jù)塊。假如要寫入的文件為a.log,則seek=2時(shí),將從a.log的第3個(gè)數(shù)據(jù)塊開(kāi)始追加數(shù)據(jù),如果a.log文件本身大小就不足2個(gè)數(shù)據(jù)塊,則缺少的部分自動(dòng)使用/dev/zero填充。

于是,在有了CentOS1.iso的基礎(chǔ)上,要將其還原為和CentOS.iso相同的文件,可以使用下面的方法:

dd if=/tmp/CentOS.iso of=/tmp/CentOS1.iso bs=2M skip=250 seek=250

還原后,它們的md5值也是相同的。

shellmd5sum CentOS1.iso CentOS.iso

504dbef14aed9b5990461f85d9fdc667 CentOS1.iso

504dbef14aed9b5990461f85d9fdc667 CentOS.iso

1.2 split命令

split工具的功能是將文件切分為多個(gè)小文件。既然要生成多個(gè)小文件,必然要指定切分文件的單位,支持按行切分以及按文件大小切分,另外還需解決小文件命名的問(wèn)題。例如,文件名前綴、后綴。如果未明確指定前綴,則默認(rèn)的前綴為"x"。

以下是命令的語(yǔ)法說(shuō)明:

例如,將/etc/fstab按行切分,每5行切分一次,并指定小文件的前綴為"fs_",后綴為數(shù)值后綴,且后綴長(zhǎng)度為2。

[root@linuxidc ~]# split -l 5 -d -a 2 /etc/fstab fs_

[root@linuxidc~]# lsfs_00 fs_01 fs_02

查看任一小文件。

[root@linuxidc ~]# catfs_01

# Accessible filesystems, by reference, are maintained under'/dev/disk'# Seeman pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info#

UUID=b2a70faf-aea4-4d8e-8be8-c7109ac9c8b8 / xfs defaults 0 0UUID=367d6a77-033b-4037-bbcb-416705ead095 /boot xfs defaults 0 0

可以將這些切分后的小文件重新組裝還原。例如,將上面的三個(gè)小文件還原為~/fstab.bak。

[root@linuxidc ~]# cat fs_0[0-2] ~/fstab.bak

還原后,它們的內(nèi)容是完全一致的??梢允褂胢d5sum比較。

[root@linuxidc ~]# md5sum /etc/fstab ~/fstab.bak

29b94c500f484040a675cb4ef81c87bf/etc/fstab

29b94c500f484040a675cb4ef81c87bf/root/fstab.bak

還可以將標(biāo)準(zhǔn)輸入的數(shù)據(jù)進(jìn)行切分,并分別寫入到小文件中。例如:

[root@linuxidc ~]# seq 1 2 15 | split -l 3 -d -new_

[root@linuxidc~]# ls new*new_00 new_01 new_02

可以為每個(gè)小文件追加額外的后綴。有些老版本的split不支持該選項(xiàng),而是在csplit上支持的,但是新版本的split已經(jīng)支持。例如,加上".log"。

[root@linuxidc ~]# seq 1 2 20 | split -l 3 -d -a 3 --additional-suffix=".log" -new1_

[root@linuxidc~]# ls new1*new1_000.log new1_001.log new1_002.log new1_003.log

1.3 csplit命令

split只能按行或按照大小進(jìn)行切分,無(wú)法按段落切分。csplit是split的變體,功能更多,它主要是按指定上下文按段落分割文件。

csplit [OPTION]... FILE PATTERN...

描述:按照PATTERN將文件切分為"xx00","xx01", ...,并在標(biāo)準(zhǔn)輸出中輸出每個(gè)小文件的字節(jié)數(shù)。

選項(xiàng)說(shuō)明:-b FORMAT:指定文件后綴格式,格式為printf的格式,默認(rèn)為%02d。表示后綴以2位數(shù)值,且不足處以0填充。-f PREFIX:指定前綴,不指定是默認(rèn)為"xx"。-k:用于突發(fā)情況。表示即使發(fā)生了錯(cuò)誤,也不刪除已經(jīng)分割完成的小文件。-m:明確禁止文件的行去匹配PATTERN。-s:(silent)不打印小文件的文件大小。-z:如果切分后的小文件中有空文件,則刪除它們。

FILE:待切分的文件,如果要切分標(biāo)準(zhǔn)輸入數(shù)據(jù),則使用"-"。

PATTERNs:

INTEGER :數(shù)值,假如為N,表示拷貝1到N-1行的內(nèi)容到一個(gè)小文件中,其余內(nèi)容到另一個(gè)小文件中。/REGEXP/[OFFSET]:從匹配到的行開(kāi)始按照偏移量拷貝指定行數(shù)的內(nèi)容到小文件中。

:其中OFFSET的格式為"+N"或"-N",表示向后和向前拷貝N行%REGEXP%[OFFSET]:匹配到的行被忽略。

{INTEGER} :假如值為N,表示重復(fù)N此前一個(gè)模式匹配。

{*} :表示一直匹配到文件結(jié)尾才停止匹配。

假設(shè)文件內(nèi)容如下:

[root@linuxidc ~]# cattest.txt

SERVER-1[connection]192.168.0.1success

[connection]192.168.0.2failed

[disconnect]192.168.0.3pending

[connection]192.168.0.4success

SERVER-2[connection]192.168.0.1failed

[connection]192.168.0.2failed

[disconnect]192.168.0.3success

[CONNECTION]192.168.0.4pending

SERVER-3[connection]192.168.0.1pending

[connection]192.168.0.2pending

[disconnect]192.168.0.3pending

[connection]192.168.0.4 failed

假設(shè)每個(gè)SERVER-n表示一個(gè)段落,于是要按照段落切分該文件,使用以下語(yǔ)句:

[root@linuxidc ~]# csplit -f test_ -b %04d.log test.txt /SERVER/ {*}0

140

139

140

"-f test_" 指定小文件前綴為"test_", "-b %04d.log" 指定文件后綴格式"00xx.log",它自動(dòng)為每個(gè)小文件追加額外的后綴".log", "/SERVER/" 表示匹配的模式,每匹配到一次,就生成一個(gè)小文件,且匹配到的行是該小文件中的內(nèi)容, "{*}" 表示無(wú)限匹配前一個(gè)模式即/SERVER/直到文件結(jié)尾,假如不知道{*}或指定為{1},將匹配一次成功后就不再匹配。

[root@linuxidc ~]# ls test_*test_0000.log test_0001.log test_0002.log test_0003.log

上面的文件中雖然只有三個(gè)段落:SERVER-1,SERVER-2,SERVER-3,但切分的結(jié)果生成了4個(gè)小文件,并且注意到第一個(gè)小文件大小為0字節(jié)。為什么會(huì)如此?因?yàn)樵谀J狡ヅ涞臅r(shí)候,每匹配到一行,這一行就作為下一個(gè)小文件的起始行。由于此文件第一行"SERVER-1"就被/SERVER/匹配到了,因此這一行是作為下一個(gè)小文件的內(nèi)容,在此小文件之前還自動(dòng)生成一個(gè)空文件。

生成的空文件可以使用"-z"選項(xiàng)來(lái)刪除。

[root@linuxidc ~]# csplit -f test1_ -z -b %04d.log test.txt /SERVER/ {*}140

139

140

還可以指定只拷貝匹配到的行偏移數(shù)量。例如,匹配到行時(shí),只拷貝它后面的1行(包括它自身共兩行),但多余的行將放入下一個(gè)小文件中。

[root@linuxidc ~]# csplit -f test2_ -z -b %04d.log test.txt /SERVER/+2 {*}42

139

140

98

第一個(gè)小文件只有兩行。

[root@linuxidc ~]# cattest2_0000.log

SERVER-1[connection]192.168.0.1 success

SERVER-1段落的其余內(nèi)容放入到了第二個(gè)小文件中。

[root@linuxidc ~]# cattest2_0001.log

[connection]192.168.0.2failed

[disconnect]192.168.0.3pending

[connection]192.168.0.4success

SERVER-2[connection]192.168.0.1 failed

同理第三個(gè)小文件也一樣,直到最后一個(gè)小文件中存放剩余所有無(wú)法匹配的內(nèi)容。

[root@linuxidc ~]# cattest2_0003.log

[connection]192.168.0.2pending

[disconnect]192.168.0.3pending

[connection]192.168.0.4 failed

指定"-s"或"-q"選項(xiàng)以靜默模式運(yùn)行,將不會(huì)輸出小文件的大小信息。

[root@linuxidc ~]# csplit -q -f test3_ -z -b %04d.log test.txt /SERVER/+2 {*}


文章題目:linux命令分割,linux切分文件命令
瀏覽地址:http://weahome.cn/article/hddocd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部