成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

命令行技巧:如何使用find和xargs查找和處理文件

系統 Linux
在命令行提示系列的這一期中,你將會看到 find 命令的介紹,并學習如何使用內置命令或使用 xargs 命令處理文件。

[[279500]]

find 是日常工具箱中功能強大、靈活的命令行程序之一。它如它名字所暗示的:查找符合你指定條件的文件和目錄。借助 -exec-delete 之類的參數,你可以讓它對找到的文件進行操作。

命令行提示系列的這一期中,你將會看到 find 命令的介紹,并學習如何使用內置命令或使用 xargs 命令處理文件。

查找文件

find 至少要加上查找的路徑。例如,此命令將查找(并打?。┫到y上的每個文件:

  1. find /

由于一切皆文件,因此你會看到大量的輸出。這可能無法幫助你找到所需的內容。你可以更改路徑參數縮小范圍,但這實際上并沒有比使用 ls 命令更好。因此,你需要考慮要查找的內容。

也許你想在家目錄中查找所有 JPEG 文件。 -name 參數允許你將結果限制為與給定模式匹配的文件。

  1. find ~ -name '*jpg'

但是等等!如果其中一些擴展名是大寫怎么辦? -iname 類似于 -name,但不區分大小寫:

  1. find ~ -iname '*jpg'

很好!但是 8.3 命名方案出自 1985 年。某些圖片的擴展名可能是 .jpeg。幸運的是,我們可以將模式使用“或”(-o)進行組合。括號需要轉義,以便使 find 命令而不是 shell 程序嘗試解釋它們。

  1. find ~ \( -iname 'jpeg' -o -iname 'jpg' \)

更進一步。如果你有一些以 jpg 結尾的目錄怎么辦?(我不懂你為什么將目錄命名為 bucketofjpg 而不是 pictures?)我們可以加上 -type 參數來僅查找文件:

  1. find ~ \( -iname '*jpeg' -o -iname '*jpg' \) -type f

或者,也許你想找到那些名字奇怪的目錄,以便之后可以重命名它們:

  1. find ~ \( -iname '*jpeg' -o -iname '*jpg' \) -type d

最近你拍攝了很多照片,因此使用 -mtime(修改時間)將范圍縮小到最近一周修改過的文件。 -7 表示 7 天或更短時間內修改的所有文件。

  1. find ~ \( -iname '*jpeg' -o -iname '*jpg' \) -type f -mtime -7

使用 xargs 進行操作

xargs 命令從標準輸入流中獲取參數,并基于它們執行命令。繼續使用上一節中的示例,假設你要將上周修改過的家目錄中的所有 JPEG 文件復制到 U 盤,以便插到電子相冊上。假設你已經將 U 盤掛載到 /media/photo_display。

  1. find ~ \( -iname '*jpeg' -o -iname '*jpg' \) -type f -mtime -7 -print0 | xargs -0 cp -t /media/photo_display

這里的 find 命令與以前的版本略有不同。-print0 命令讓輸出有一些更改:它不使用換行符,而是添加了一個 null 字符。xargs-0(零)選項可調整解析以達到預期效果。這很重要,不然對包含空格、引號或其他特殊字符的文件名執行操作可能無法按預期進行。對文件采取任何操作時,都應使用這些選項。

cp 命令的 -t 參數很重要,因為 cp 通常要求目的地址在最后。你可以不使用 xargs 而使用 find-exec 執行此操作,但是 xargs 的方式會更快,尤其是對于大量文件,因為它會單次調用 cp。

了解更多

這篇文章僅僅是 find 可以做的事情的表面。 find 支持基于權限、所有者、訪問時間等的測試。它甚至可以將搜索路徑中的文件與其他文件進行比較。將測試與布爾邏輯相結合,可以為你提供驚人的靈活性,以精確地找到你要查找的文件。使用內置命令或管道傳遞給 xargs,你可以快速處理大量文件。 

 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2021-05-31 12:05:46

Shell命令Linux

2021-12-12 09:19:16

find命令Linux

2014-12-05 10:10:48

Java

2015-12-16 16:01:13

2018-11-21 09:57:44

命令行Linux文件

2022-04-11 06:03:24

FdupesLinux命令行工具

2010-10-19 11:33:19

SQLServer命令

2018-03-14 14:27:00

2009-12-23 14:14:09

Linux高級命令行

2018-10-22 10:00:05

Linux命令ls

2017-03-27 14:40:01

Linux命令行工具技巧

2017-04-05 14:10:55

Linux命令行工具技巧

2017-04-12 13:29:08

Linux命令行工具

2010-01-27 14:01:19

Android命令行啟

2022-10-14 19:30:29

Linux

2017-04-10 13:26:00

Linux命令技巧

2021-08-10 09:07:28

命令行Linux發行版

2023-11-30 10:42:43

Rust命令行參數

2023-03-21 09:31:30

Linux命令行文件夾

2019-04-16 06:50:34

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产免费av在线 | 天天综合网天天综合 | 久久久男人的天堂 | 亚洲日本国产 | 精品啪啪 | 日韩高清三区 | 亚洲欧美aⅴ | 久久中文字幕电影 | 中文字幕亚洲精品 | 国产精品18久久久久久白浆动漫 | 亚洲最大av网站 | 欧美激情欧美激情在线五月 | 啪啪免费网站 | 日韩高清一区二区 | 特级黄色毛片 | 99久热| 91视频在线观看 | 国产精品久久久久无码av | 日本一区二区高清不卡 | 精品一区在线看 | 91成人在线 | 黄色大片视频 | 99热国产在线播放 | 久久久久久免费看 | 国产精品日韩欧美 | 天天爽网站 | 国产精品亚洲成在人线 | 欧美a级成人淫片免费看 | 中午字幕在线观看 | 日本天天操 | 日韩欧美在线播放 | 国产乱码精品一区二区三区忘忧草 | 97福利在线 | 中文字幕日韩欧美 | a级毛片毛片免费观看久潮喷 | 麻豆av一区二区三区久久 | 久久这里只有精品首页 | av网站免费在线观看 | 一区中文 | 激情91| 国产精品毛片一区二区在线看 |