高通量數據分析過程中涉及的中間文件,在存儲量允許的前提下,可以將其暫存備查。通常可以將這些文件歸檔或壓縮後保存,並打上日期標簽,長時間未使用的非重要數據可考慮刪除以騰出存儲空間。在此總結Linux系統常用的歸檔與壓縮指令。
歸檔 即將多個文件(目錄)打包為一個文件,但並不對文件進行壓縮。
從歸檔文件中提取指定文件
從壓縮文件中提取指定文件
參考:
1. Linux tar 命令
2. 如何從一個tar包中或者tar.gz包中提取某個文件
2. 怎樣從linux文件中提取數據
linux下相關的命令升鄭行工具槐大蠻多的,cut, split, awk, sed都可以的,非常靈活強大。想要提取文吵明頌件的哪些數據,寫寫腳本就可以了
3. linux根據一個文件內容提取另外一個文件內容
#!/bin/bash
foriin`catfile1`
do
grep$ifile2
#dowhatyouwant...
done
4. 怎樣從.tar格式的rom包中提取出基帶
1、提取system.img一般的刷機包後綴名是MD5或者tar格式,如果是的話就重命名位tar格式,然後再解壓縮,PS:解壓縮都會的吧。解壓出來之後裡面有很多img文件,其中就包括system.img。這就是今天的豬腳,搞的就是他。三星刷機包作為案例。
2、下載安裝ROM助手打開ROM助手,選擇「系統精簡」功能。使用之前要注意,最好把一些殺毒軟體暫時的關閉,
3、載入system.img把第一步提取的system.img載入進去。稍等片刻,等待載入完成。。
4、精簡和添加這時ROM助手把整個system.img的APK都顯示出來了,文件版本,名稱,大小都會逐一顯示,在保證刷機包的完整性的同時,您可以任意精簡掉您需要清除的預裝軟體,接下來點擊「內置預裝」
5、這里您可以內置預裝一些您自己需要的常用的apk,左邊的是推薦的熱門的一些手游類和應用市場類(左側選擇apk,再選擇添加就好),省去了刷過rom重裝apk的煩惱,還可以利用這個功能預裝一些如2345手機聯盟和rom基地等一些rom聯盟的的apk來做rom包賺錢(將那些聯盟的apk下載到本地,選擇添加本地apk),接下來點擊「信息修改」:
6、這個時候您可以修改一些build.prop信息,都有中文對應,,xda論壇有教程,還可以設置rom的各種默認鈴聲,修改IMG一切完成後 點擊右下角的「開始封裝」 等待封包完成,這樣system.img的解包 修改 打包就結束了,是不是很簡單的呀 !!!在人家還在安裝LINUX的時候 你都完成了SYSTEM的封包,很有成就感的哈,另外:ROM助手的美化功能在抓緊的開發測試中,敬請期待哦~~~
7、刷機三星刷機包由於他的特殊性,是Tar格式 最後還需要一個TAR打包工具,兄弟們在網上下載即可
5. linux下批量文件內容提取
grep ingcn -rl /assign-path | xargs sed -i 's/ingcn/.ingcn/g'
或
sed -i 's/ingcn/.ingcn/g' `grep ingcn -rl /assign-path`
還有一種比較復雜的寫法:
grep ingcn * -R | awk -F: '{print $1}' | sort | uniq | xargs sed -i 's/ingcn/.ingcn/g'
其中命令awk用於分割字元串、uniq對結果進行除重。
、網路上現成的資料
格式: sed -i s/查找欄位/替換欄位/g `grep 查找欄位 -rl 路徑`
linux sed 批量替換多個文件中的字元串
sed -i s/oldstring/newstring/g `grep oldstring -rl yourdir`
例如:替換/home下所有文件中的.111cn.為111cn.
sed -i s/.111cn./111cn./g `grep .111cn. -rl /home`
exp:sed -i s/shabi/$/g `grep shabi -rl ./`
2、自己額外附加
2.1 將文件1.txt內的文字garden替換成mirGarden
# sed -i s/garden/mirGarden/g
1.txt sed -i 很簡單
2.2 將當前目錄下的所有文件內的garden替換成mirGarden
## sed -i s/garden/mirGarden/g `ls` 其實也就是ls出多個文件名而已
6. linux 比較兩個文件夾提取不同的文件
#!/bin/bash
#定義目錄變數,便於引用
A=/tmp/A
B=/tmp/B
C=/tmp/C
#顯示B目錄文件,按列顯示,便於for循環時按行讀取
ls"$B"|awk'{print$n}'>line
#主程序
forfilenamein`catline`
do
#!-f判斷文件名-d判斷目錄/是否在路徑下存在,如果精確匹配需要用到md5sum!
if[!-f"$A"/"$filename"];then
#提示信息,可刪除
echo$filename在"$A"不存在,正復制到"$C"目錄!
#cp-rf在C目錄不存在時直接創建
cp-rf"$B"/$filename"$C"
fi
done
#清除生成的文件列表文件
rm-rfline
#!/bin/bash
A=/tmp/A
B=/tmp/B
C=/tmp/C
ls"$B"|awk'{print$n}'>line
forfilenamein`catline`
do
if[!-f"$A"/"$filename"];then
echo$filename在"$A"不存在,正復制到"$C"目錄!
cp-rf"$B"/$filename"$C"
fi
done
rm-rfline
7. 如何提取linux kernel的配置文件
下載一份內核代碼,解壓縮。
執行命令 make defconfig
會在根目錄下面生成 ".config" 文件。
這個文件即是linux kernel的配置文件。
8. 怎樣將虛擬機內的文件提取出來
可以通過虛擬機與主機共享文件夾,將虛擬機內的文件提取到主機內。
工具:
電腦
VMware虛擬機
操作步驟如下:
1、打開VMware虛擬機(確保虛擬機內的操作系統已關閉)
9. 如何提取linux 系統鏡像文件
你是怎麼分區的……
假定你的
/dev/sda1
掛在
/,
/dev/sda2
掛在
/home
(一般也就是要備份/
和
/home了)
dd
if=/dev/sda1
|
gzip
-cf
>
sda1.img.gz
sda1.img.gz
就是壓縮後的
/dev/sda1
分區鏡像
同理可以獲得sda2.img.gz
dd
if=/dev/sda2
|
gzip
-cf
>
sda2.img.gz
注意,整個分區的鏡像文件會和分區大小一樣大,所以要用gzip壓縮(你也可以用其他方式壓縮,比如bzip等)
把這兩個文件保存到(移動硬碟/u盤/刻錄到光碟)就行了。
下面來演示怎麼恢復,比方說你把
/dev/sda1
格式化了,也沒法開機了,這時候隨便找一個linux發行版的啟動光碟(比如ubuntu的livecd,或者什麼liveusb都行),啟動電腦後,把移動硬碟/u盤插上,
gzip
-dc
/path/to/sda1.img.gz
|
dd
of=/dev/sda1
等執行完了後,你的sda1就會徹底恢復了。然後重啟,硬碟啟動就行了。