国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Linux筆記之刪除指定目錄下除最新修改的以 .pack 為擴(kuò)展名的文件之外的所有文件

這篇具有很好參考價(jià)值的文章主要介紹了Linux筆記之刪除指定目錄下除最新修改的以 .pack 為擴(kuò)展名的文件之外的所有文件。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

code review!

1.Linux筆記之刪除指定目錄下除最新修改的以 .pack 為擴(kuò)展名的文件之外的所有文件

這段代碼是使用C++語言編寫的,它執(zhí)行了一系列命令來刪除指定目錄下的舊文件。讓我逐行解釋代碼的功能:

  1. 首先,聲明并初始化了一個(gè)名為cmdstd::string變量,用于存儲(chǔ)要執(zhí)行的命令。命令的內(nèi)容是一個(gè)字符串,它由多個(gè)子命令以管道符(|)連接而成。

    std::string cmd = "ls -t "+ pack_path + "/*.pack | tail -n +2 | xargs rm";
    ```
    
    - `ls -t`:這個(gè)子命令是用于列出指定目錄下的文件和目錄,并按照修改時(shí)間的倒序排列。
    - `pack_path`:這是一個(gè)變量,用于指定目錄的路徑。它將被拼接到命令中的`/*.pack`之前,表示要列出以`.pack`為擴(kuò)展名的文件。
    - `/*.pack`:這個(gè)子命令是用于匹配指定目錄下以`.pack`為擴(kuò)展名的文件。
    - `tail -n +2`:這個(gè)子命令是用于從輸入中提取第2行及其之后的內(nèi)容。在這里的作用是跳過第一行的文件(即最新修改的文件)。
    - `xargs rm`:這個(gè)子命令是用于將前面的輸出作為參數(shù)傳遞給`rm`命令,從而刪除相應(yīng)的文件。
    
    
  2. 接下來,使用system函數(shù)執(zhí)行存儲(chǔ)在cmd變量中的命令。

    system(cmd.c_str());
    ```
    
    ``cmd.c_str()`將`cmd`變量轉(zhuǎn)換為C風(fēng)格的字符串,然后`system`函數(shù)將該字符串作為參數(shù)傳遞給操作系統(tǒng)來執(zhí)行對應(yīng)的命令。
    
    

綜上所述,這段代碼的作用是列出指定目錄下以.pack為擴(kuò)展名的文件,根據(jù)修改時(shí)間的倒序排列,然后刪除除最新修改的文件之外的所有文件。

2.將指定目錄下除最新修改的以 .pack 為擴(kuò)展名的文件之外的所有文件移動(dòng)到另一個(gè)目錄

這段代碼是使用C++語言編寫的,它執(zhí)行了一系列命令來移動(dòng)指定目錄下的舊文件到另一個(gè)目錄。讓我逐行解釋代碼的功能:

  1. 首先,聲明并初始化了一個(gè)名為cmdstd::string變量,用于存儲(chǔ)要執(zhí)行的命令。命令的內(nèi)容是一個(gè)字符串,它由多個(gè)子命令以管道符(|)連接而成。

    std::string cmd = "ls -t "+ pack_path + "/*.pack | tail -n +2 | xargs -I{} mv {} " + new_pack_path;
    ```
    
    - `ls -t`:這個(gè)子命令是用于列出指定目錄下的文件和目錄,并按照修改時(shí)間的倒序排列。
    - `pack_path`:這是一個(gè)變量,用于指定目錄的路徑。它將被拼接到命令中的`/*.pack`之前,表示要列出以 `.pack` 為擴(kuò)展名的文件。
    - `/*.pack`:這個(gè)子命令是用于匹配指定目錄下以 `.pack` 為擴(kuò)展名的文件。
    - `tail -n +2`:這個(gè)子命令是用于從輸入中提取第2行及其之后的內(nèi)容。在這里的作用是跳過第一行的文件(即最新修改的文件)。
    - `xargs -I{}`:這個(gè)子命令是用于將前面的輸出作為參數(shù)傳遞給`mv`命令,并使用`{}`作為占位符,將每個(gè)文件名依次替換到`{}`的位置。
    - `mv {}`:這個(gè)子命令是用于移動(dòng)文件,`{}`將被實(shí)際的文件名替換。
    - `new_pack_path`:這是一個(gè)變量,用于指定目標(biāo)目錄的路徑。它將被拼接到命令的末尾,表示要將文件移動(dòng)到這個(gè)目錄。
    
    
  2. 接下來,使用system函數(shù)執(zhí)行存儲(chǔ)在cmd變量中的命令。

    system(cmd.c_str());
    ```
    
    ``cmd.c_str()`將`cmd`變量轉(zhuǎn)換為C風(fēng)格的字符串,然后`system`函數(shù)將該字符串作為參數(shù)傳遞給操作系統(tǒng)來執(zhí)行對應(yīng)的命令。
    
    

綜上所述,這段代碼的作用是列出指定目錄下以.pack為擴(kuò)展名的文件,根據(jù)修改時(shí)間的倒序排列,然后將除最新修改的文件之外的所有文件移動(dòng)到另一個(gè)目錄。

3.xargs:用于從標(biāo)準(zhǔn)輸入中讀取數(shù)據(jù),并將其作為參數(shù)傳遞給指定的命令

xargs是一個(gè)命令行工具,用于從標(biāo)準(zhǔn)輸入中讀取數(shù)據(jù),并將其作為參數(shù)傳遞給指定的命令。它可以將輸入數(shù)據(jù)分割為單個(gè)參數(shù),并將這些參數(shù)傳遞給命令進(jìn)行處理。讓我們詳細(xì)解釋xargs的用法和功能。

基本語法:

xargs [選項(xiàng)] [命令]

常用選項(xiàng):

  • -I{替換字符串}:指定一個(gè)占位符,用于替換輸入中的每個(gè)參數(shù)。通常使用{}作為占位符,可以在命令中多次出現(xiàn)以表示不同的參數(shù)位置。
  • -n 數(shù)字:指定每次執(zhí)行命令時(shí)傳遞的參數(shù)個(gè)數(shù)。默認(rèn)情況下,xargs將盡可能多地傳遞參數(shù),但可以使用-n選項(xiàng)限制每次傳遞的參數(shù)個(gè)數(shù)。
  • -t:顯示要執(zhí)行的命令,但不實(shí)際執(zhí)行。
  • -p:在執(zhí)行每個(gè)命令之前提示用戶確認(rèn)。

使用示例:

  1. 基本用法:將輸入作為命令參數(shù)傳遞。

    echo "file1 file2 file3" | xargs rm
    ```
    上述命令將字符串`file1 file2 file3`通過管道傳遞給`xargs`,然后`xargs`將其作為參數(shù)傳遞給`rm`命令,相當(dāng)于執(zhí)行了`rm file1 file2 file3`。
    
    
  2. 通過-I選項(xiàng)替換占位符:

    echo "file1 file2 file3" | xargs -I{} mv {} dest/
    ```
    上述命令將字符串`file1 file2 file3`通過管道傳遞給`xargs`,然后`xargs`使用`-I{}`選項(xiàng)將每個(gè)參數(shù)替換為`{}`占位符,并將其作為參數(shù)傳遞給`mv`命令,相當(dāng)于執(zhí)行了`mv file1 dest/`、`mv file2 dest/`和`mv file3 dest/`。
    
    
  3. 限制每次傳遞的參數(shù)個(gè)數(shù):

    echo "file1 file2 file3 file4 file5" | xargs -n 2 rm
    ```
    上述命令將字符串`file1 file2 file3 file4 file5`通過管道傳遞給`xargs`,然后`xargs`使用`-n 2`選項(xiàng),每次將兩個(gè)參數(shù)傳遞給`rm`命令,相當(dāng)于執(zhí)行了`rm file1 file2`和`rm file3 file4`,最后一個(gè)參數(shù)`file5`單獨(dú)執(zhí)行了一次`rm`命令。
    
    
  4. 從文件中讀取參數(shù):

    cat filelist.txt | xargs rm
    ```
    上述命令將文件`filelist.txt`的內(nèi)容通過管道傳遞給`xargs`,然后`xargs`將每一行作為參數(shù)傳遞給`rm`命令,實(shí)現(xiàn)批量刪除文件的功能。
    
    

這些只是xargs命令的一些常見用法,它還有其他選項(xiàng)和功能可以根據(jù)需要進(jìn)行調(diào)整和使用。請注意,當(dāng)使用xargs時(shí),請確保輸入的參數(shù)不包含特殊字符或空格,以避免意外行為。

4.xargs和awk區(qū)別

xargsawk是兩個(gè)不同的命令行工具,它們在處理輸入數(shù)據(jù)和執(zhí)行操作時(shí)有一些區(qū)別。

  1. 功能:

    • xargs:主要用于從標(biāo)準(zhǔn)輸入中讀取數(shù)據(jù),并將其作為參數(shù)傳遞給指定的命令。它可以將輸入數(shù)據(jù)分割為單個(gè)參數(shù),并將這些參數(shù)傳遞給命令進(jìn)行處理。xargs通常用于處理文件列表、批量執(zhí)行命令等場景。
    • awk:是一種強(qiáng)大的文本處理工具,用于從輸入文本中提取和處理數(shù)據(jù)。它基于行進(jìn)行操作,并可以根據(jù)指定的規(guī)則和模式進(jìn)行數(shù)據(jù)匹配、轉(zhuǎn)換和輸出。awk通常用于處理結(jié)構(gòu)化文本數(shù)據(jù)、數(shù)據(jù)分析和報(bào)告生成等任務(wù)。
  2. 數(shù)據(jù)處理:

    • xargs:將輸入數(shù)據(jù)作為參數(shù)傳遞給命令,每個(gè)參數(shù)通常是以空格或換行符分隔的文本。xargs可以根據(jù)需要對輸入進(jìn)行分割和重組,然后將其傳遞給命令進(jìn)行處理。
    • awk:以行為單位處理輸入數(shù)據(jù),可以根據(jù)指定的字段分隔符對每一行進(jìn)行分割,并對每個(gè)字段進(jìn)行操作。awk提供了豐富的內(nèi)置函數(shù)和操作符,可以進(jìn)行數(shù)據(jù)過濾、轉(zhuǎn)換、計(jì)算和格式化等操作。
  3. 使用場景:

    • xargs:適用于需要將輸入數(shù)據(jù)作為參數(shù)傳遞給命令進(jìn)行處理的場景,如批量執(zhí)行命令、刪除文件、移動(dòng)文件等。
    • awk:適用于需要對結(jié)構(gòu)化文本數(shù)據(jù)進(jìn)行處理和分析的場景,如數(shù)據(jù)提取、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)篩選、報(bào)告生成等。

總結(jié)而言,xargs主要用于處理命令行參數(shù),將輸入數(shù)據(jù)作為參數(shù)傳遞給命令執(zhí)行,而awk主要用于處理文本數(shù)據(jù),對每一行進(jìn)行分割和操作。它們在功能和使用場景上有所不同,可以根據(jù)具體需求選擇合適的工具。文章來源地址http://www.zghlxwxcb.cn/news/detail-755950.html

到了這里,關(guān)于Linux筆記之刪除指定目錄下除最新修改的以 .pack 為擴(kuò)展名的文件之外的所有文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • mybatis-plus 根據(jù)指定字段 批量 刪除/修改

    mybatis-plus 根據(jù)指定字段 批量 刪除/修改

    mybatis-plus 提供了根據(jù)id批量更新和修改的方法,這個(gè)大家都不陌生 但是當(dāng)表沒有id的時(shí)候怎么辦) 這個(gè)就不說了,就是因?yàn)椴幌胧謱慡QL 所以才有這篇博客 mybatis plus 的 executeBatch 參考 mybatis plus 的updateBatchById 方法. 調(diào)用處: 接口 重寫方法 實(shí)現(xiàn) 這種寫法其實(shí)批量的效率還是比較慢的

    2024年02月13日
    瀏覽(17)
  • Java文件操作(遍歷目錄中的文件,找到并刪除有指定關(guān)鍵字的文件)

    對于通過java對文件繼續(xù)讀取和寫入的操作推薦看讀取文件和寫入文件操作 ????????掃描指定目錄中的文件,并找到名稱中包含指定字符的所有普通文件(不包括目錄),并后續(xù)詢問用戶是否要?jiǎng)h除該文件 ? ? ? ? 實(shí)際上題目就要求我們對一個(gè)指定的目錄下的文件進(jìn)行遍歷

    2024年02月13日
    瀏覽(29)
  • Linux掛載磁盤到指定目錄

    Linux掛載磁盤到指定目錄

    某天突然發(fā)現(xiàn)文件夾下的東西都沒有了! 使用命令 lsblk 查看,發(fā)現(xiàn)果然磁盤 sda 掉了,沒有掛載點(diǎn)。(Linux lsblk 命令用法詳解-Linux命令大全(手冊)) 最后一列的mount points就表示掛載點(diǎn)。 隨即搜索怎么掛載!——【Linux】磁盤分區(qū)和掛載 很幸運(yùn)掛載磁盤其實(shí)很簡單,只需要一

    2024年02月14日
    瀏覽(19)
  • Linux :: 【基礎(chǔ)指令篇 :: 文件及目錄操作:(7)】:: cp:指定文件或目錄的拷貝及指定拷貝到指定路徑(與重命名)

    前言:本篇是 Linux 基本操作篇章的內(nèi)容! 筆者使用的環(huán)境是基于騰訊云服務(wù)器:CentOS 7.6 64bit。 學(xué)習(xí)集: C++ 入門到入土?。。W(xué)習(xí)合集 Linux 從命令到網(wǎng)絡(luò)再到內(nèi)核!學(xué)習(xí)合集 目錄索引: 1. 基本語法及功能 2. 常用可選項(xiàng)說明 3. 文件基本拷貝操作 - - 3.1 指定文件拷貝到當(dāng)前

    2024年02月03日
    瀏覽(98)
  • Linux配置sftp用戶訪問指定目錄

    Linux配置sftp用戶訪問指定目錄

    開發(fā)環(huán)境:Win 10 --??64位 服務(wù)環(huán)境:centos7 SSH:OpenSSH_7.4p1 需要root權(quán)限執(zhí)行-------------------------- 為了方便后面添加用戶 注: -g: 指定用戶所屬用戶組 -s: shell, /usr/sbin/nologin表示禁止用戶使用SSH登錄,僅可用于SFTP登錄 fileuser: 用戶名 配置密碼 注:此處目錄的屬主屬組必須

    2024年02月01日
    瀏覽(23)
  • Linux將新硬盤掛載到指定目錄

    Linux將新硬盤掛載到指定目錄

    MBR分區(qū)最大2T,超過2T需用parted工具進(jìn)行GPT分區(qū) 1. 查看當(dāng)前所有硬盤 可以看到未分區(qū)的新硬盤/dev/sdd 2. 對新硬盤進(jìn)行分區(qū) 輸入“n”,按“Enter”,開始新建分區(qū)。 輸入“p”,按“Enter”,開始創(chuàng)建一個(gè)主分區(qū)。 輸入主分區(qū)編號“1”,按“Enter”。 選擇分區(qū)空間起始點(diǎn),直接

    2024年02月06日
    瀏覽(21)
  • Linux 權(quán)限設(shè)置 用戶只能訪問指定目錄

    Linux 權(quán)限設(shè)置 用戶只能訪問指定目錄

    Linux每個(gè)文件和文件夾都有其用戶和用戶組,用戶和用戶組默認(rèn)是創(chuàng)建者,一般情況下都是root。 命令 ls -al可查看,第一列是權(quán)限,第三列是用戶,第四列是用戶組。 主要思路是設(shè)置目錄的權(quán)限為其他用戶不可訪問,只有設(shè)置指定的用戶可訪問。 將權(quán)限設(shè)置其他用戶和其他組

    2024年02月09日
    瀏覽(99)
  • Linux :: 【基礎(chǔ)指令篇 :: 文件及目錄操作:(6)】:: rmidr / rm:刪除空目錄、刪除非空目錄及刪除文件指令

    前言:本篇是 Linux 基本操作篇章的內(nèi)容! 筆者使用的環(huán)境是基于騰訊云服務(wù)器:CentOS 7.6 64bit。 學(xué)習(xí)集: C++ 入門到入土?。?!學(xué)習(xí)合集 Linux 從命令到網(wǎng)絡(luò)再到內(nèi)核!學(xué)習(xí)合集 目錄索引: 1. rmdir / rm 基本語法及功能 2. rmdir 基本使用測試 (看操作代碼) - - 2.1 創(chuàng)建一個(gè)空目錄

    2024年02月05日
    瀏覽(25)
  • linux空磁盤掛載到指定目錄操作步驟

    linux空磁盤掛載到指定目錄操作步驟

    fdisk -l? 或? lsblk 如圖所示:/dev/sdb磁盤還未分區(qū) 執(zhí)行fdisk /dev/sdb 按照下面步驟依次輸入指令 mkfs.xfs /dev/sdb1 blkid mount 磁盤分區(qū) 目標(biāo)目錄 mount /dev/sdb1 /ynat/ 注:此掛載方式為臨時(shí)掛載,重啟服務(wù)器后,硬盤掛載消失; 首先通過blkid命令將分區(qū)的uuid查詢出來并復(fù)制uuid(往/etc/fs

    2024年03月09日
    瀏覽(28)
  • Linux系統(tǒng)如何掛載(mount)設(shè)備到指定目錄?

    了解Linux系統(tǒng)中常見的Ext3、Ext4與XFS文件系統(tǒng)的不同之處 理解Linux系統(tǒng)中硬盤設(shè)備的分區(qū)、格式化以及掛載等常用的硬盤管理操作 Linux系統(tǒng)中的一切文件都是從“根目錄”(/)開始的,并按照文件系統(tǒng)層次標(biāo)準(zhǔn)(FHS)采用倒樹狀結(jié)構(gòu)來存放文件。 在Linux系統(tǒng)中,常見的目錄以

    2024年02月10日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包