linux 拆分文件 多个,linux – 如何拆分文件并保留每个部分的第...
這是robhruska的腳本清理了一下:
tail -n +2 file.txt | split -l 4 - split_
for file in split_*
do
head -n 1 file.txt > tmp_file
cat "$file" >> tmp_file
mv -f tmp_file "$file"
done
我在不需要的地方移除了wc,cut,ls和echo.我改變了一些文件名,使它們更有意義.我把它分成多行只是為了讓它更容易閱讀.
如果你想獲得花哨,可以使用mktemp或tempfile來創建臨時文件名,而不是使用硬編碼文件名.
編輯
使用GNU split可以執行此操作:
split_filter () { { head -n 1 file.txt; cat; } > "$FILE"; }; export -f split_filter; tail -n +2 file.txt | split --lines=4 --filter=split_filter - split_
因可讀性而破裂:
split_filter () { { head -n 1 file.txt; cat; } > "$FILE"; }
export -f split_filter
tail -n +2 file.txt | split --lines=4 --filter=split_filter - split_
指定–filter時,split會為每個輸出文件運行命令(在這種情況下為必須導出的函數),并將命令環境中的變量FILE設置為文件名.
過濾器腳本或函數可以對輸出內容甚至文件名進行任何操作.后者的一個例子可能是輸出到變量目錄中的固定文件名:>例如,“$FILE / data.dat”.
總結
以上是生活随笔為你收集整理的linux 拆分文件 多个,linux – 如何拆分文件并保留每个部分的第...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 女子幼儿园收童子尿煮鸡蛋 吃着香是浙江当
- 下一篇: 5999 元!石头分子筛洗烘一体机 H1