日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

shell grep 变量_Shell应用:巧用xargs 轻松实现上万文件的筛选压缩

發布時間:2025/3/20 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 shell grep 变量_Shell应用:巧用xargs 轻松实现上万文件的筛选压缩 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

背景

Linux 下某個目錄下有小文件好幾萬個,命名規則按日期每小時 N 個,想要過濾出指定日期的文件并添加到壓縮文件中,記錄下腳本化的過程如下。

正則過濾存在的問題

首先,直接進入該目錄,由于文件數過多,ls 打印半天出不了結果。
其次,ls | grep命令篩選直接報錯:

解決辦法

網絡搜索到 xargs 命令可以批量輸出,調整思路如下:
1、批量輸出目標目錄下的文件名稱到某個文件。
2、逐行讀取該文件內容,并匹配指定正則。
3、將匹配正則的文件名稱輸出到中間文件。
4、cat 該文件內容作為 tar 命令的參數,從而導出符合條件的文件到壓縮文件
具體 shell 腳本為:

echo 'start.'FILENAME=/home/201902.logcount=0#remove last filerm -f /home/test02.logrm -f /home/201902.logcd /opt/logdata/ls | xargs -n 9 > /home/201902.log# while read file line while read clname2do if [[ "$clname2" =~ data_._201902* ]]; then echo $clname2 >> /home/test02.log count=$(($count+1)) fidone

執行上述腳本可完成 2 月份日志數據的導出。

啟示錄

簡單腳本,涉及到幾個知識點:

  • 統計符合條件的文件總數,shell 對變量自增的語法。
  • xargs 的應用。
  • shell 循環讀取文件的語法。
  • 正則判斷語法
  • 總結

    以上是生活随笔為你收集整理的shell grep 变量_Shell应用:巧用xargs 轻松实现上万文件的筛选压缩的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。