當前位置:首頁 » 網頁前端 » shell腳本根據大小切割文件
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

shell腳本根據大小切割文件

發布時間: 2022-07-27 12:07:11

Ⅰ shell腳本 把大文件內容拆分到小文件里

split –l 10000 原始文件 拆分後文件名前綴
參考:
http://jingyan..com/article/456c463b6f2e390a583144fe.html

Ⅱ 設計一個shell腳本,對該文件夾下的所有文件按照大小進行排序,從大到小輸出每個文件的名字和大小

這不一行命令就搞定了嗎:

ls -lS | awk '{print $9 " " $5}'

你可以將它保存為一個 shell 腳本。

命令運行截圖

ls -lS 的作用是查看文件信息,並以文件大小降序。

awk '{print $9 " " $5}' 的作用是從這些信息中過濾出文件名和文件大小,以空格隔開。

Ⅲ Shell腳本得到文件夾大小

ls -ld 文件夾路徑 | awk '{print int($5/1024)}'
或者:
-b 文件夾路徑 | awk '{print int($1/1024)}'

跟你上面計算文件大小類似,得到的都是以KB為單位的大小。
如果要以Byte為單位,不要除以1024也不要int取整就是了。

注意:Linux的ext2或ext3文件系統會給目錄分配一個inode塊(索引節點),用來記錄文件信息,所以文件夾的大小不是簡單地將其中文件大小累加就能得到的,還包括了這個索引節點的大小。索引節點是一個結構,它包含了一個文件的長度、創建及修改時間、許可權、所屬關系、磁碟中的位置等信息。

Ⅳ shell腳本:需根據文件的大小進行壓縮

sh -x yourshell
看看每個步驟
你的第一步就有問題了, file就是把目錄下的文件全都列出來了,取第二列就是文件名了。怎麼去和2000000比較???
tar也有問題,你壓縮成什麼?少了參數吧。。。
rm也有問題。你才壓縮一個文件,就把整個目錄幹掉了、、、

find . -size +2M 這樣不就把文件大於2M的弄出來了。。。僅供參考:
[root@localhost ~]# ls -sh a
27M a
[root@localhost ~]# find . -size +2M
./a
[root@localhost ~]# find . -size +2M -exec tar cjf /tmp/{}.tar.bz2 {} \;
[root@localhost ~]# ls /tmp/
a.tar.bz2

Ⅳ linux環境下,用shell腳本對一個文件內容拆分到指定文件裡面

首先取出ecas三行存入變數 ecasproperties
ecasproperties=(cat full.propertites|grep ecas)
再把其寫入ecas下的配置文件
echo $ecasproperties>>ecas/config.properties

其他的依此類推
或者直接一個命令cat full.propertites|grep ecas>>ecas/config.properties

Ⅵ 求教shell腳本截取文本

親,sed的參數用雙引號。我給你的代碼用的是單引號因為你提問時問的是bbbb

而不是$line
sed -n '/^'"$line"'$/,$p'

單引號內不會發生變數擴展
雙引號會發生變數擴展,但是$屬於元字元所以需要轉義。
小米飛貓的回答也是不對的,因為$/ $p會被shell替換成空字元串。並沒有傳遞給sed命令。