色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

find exec命令實例教程

CHANBAEK ? 來源:myfreax ? 作者:myfreax ? 2022-12-06 17:08 ? 次閱讀

Linux find命令是根據指定條件搜索文件和目錄的絕佳工具。exec允許您對找到的文件執行指定操作。

例如你要使用find命令找到所有以.jpeg作為擴展名的文件,然后用.jpg擴展名重命名文件。

此時你兩種方法可以對find命令的結果執行指定的操作。第一種是使用xargs命令,第二種是exec命令。

我們已經編寫過有一篇xargs命令詳解的文章。本教程將重點詳解組合find exec命令的用法。

您不能只是通過管道將find命令輸出重定向到另一個命令。它不會那么簡單

在開始本教程之前,請運行touch命令touch file1.txt file2.txt file3.txt創建教程需要使用的文件。

touch file1.txt file2.txt file3.txt

find exec 命令實例教程

find命令和exec命令組合使用的基本語法是find [path] [arguments] -exec [command] {} \\;

[command]是您要對find命令的結果執行的操作。{}是一個占位符,用于保存find命令的搜索結果。

\\;表示[command]命令的結束。在這里你需要轉義;避免shell的解釋,因此會寫成這樣\\;

還有另一種語法與上述略有不同,這是它的語法形式find [path] [arguments] -exec [command] {} +

+表示對于find命令搜索結果,運行一次[command]。所有結果都作為參數一起傳遞給[command]

你仍然對{} \\;{} +的使用感到困惑,你可以嘗試跟著我們的實例進行操作。

find . -type f -exec ls {} ;命令將會對搜索每一個搜索結果運行ls命令,類似于運行3次ls命令,但每次參數都是不同的文件。

find . -type f  -exec ls  {} \\;
#eq
ls file1.txt
ls file2.txt
ls file3.txt

如果你使用的是{} +。也就是將find命令的搜索結果一次傳遞給exec指定的命令[command]。例如命令find . -type f -exec ls {} ;

{} \\;運行多次同一個命令相比,使用{} +是更好的選擇,因為性能更好。但在某些情況你不能這樣做。

如果find命令搜索結果有50個,則不能將搜索結果作為參數一次傳遞給命令,因為Linux對最大命令行長度有限制。

find . -type f  -exec ls  {} ;
#eq
ls file1.txt file2.txt file3.txt

find exec 命令搜索重命名文件擴展

使用find exec命令可讓你以輕松重命名文件。在組合使用find exec命令還需要使用mv。mv 命令是用于移動文件或者重命名文件。

以下命令將會修改當前目錄的所有*.txt文件擴展名為.js-exec運行sh命令啟動子shell進程。

sh -c 'mv "$1" "${1%.txt}.edefg"'子shell進程運行命令mv "$1" "${1%.txt}.js"${1%.txt}.js參數將會匹配原始文件擴展名的txt并替換為js

find . -type f -name '*.txt' -exec sh -c 'mv "$1" "${1%.txt}.js"' _ {} \\;

find exec 命令刪除文件

自動刪除文件時請格外小心。如果不注意,可能會是災難性的。要么使用交互式刪除命令rm -i,要么先打印查看find命令搜索的結果。

find exec命令組合的另一個常見示例是搜索大于指定大小的文件并將其刪除。如果您正在清理日志,這很有效。

例如刪除大于100 MB的文件,或者根據文件的修改時間刪除文件。在這里,我們使用-mtime選項搜索過去10小時修改的文件并刪除。

find ~/Desktop -size +100M -exec rm {} \\;
sudo find /tmp/ -type f -mtime +10 -exec rm {} \\;

Find exec grep 命令搜索文件內容

find命令僅對文件屬性進行搜索。而grep命令可用于文件的內容。將Find exec和grep組合起來,您就得到一個強大的命令行搜索工具。

例如命令find . -type f -name "*.js" -exec grep -H keyword {} ;搜索當前目錄的所有js文件,然后使用grep命令搜索關鍵詞keyword

這里之所以使用grep命令的-H選項,是因為grep默認不打印匹配搜索模式的文件名。-H選項將會打印匹配的文件名和匹配的內容并使用:分隔。

find . -type f -name "*.js" -exec grep -iH a {} \\;

Find 命令與多個exec

是的,您可以將Find命令的搜索結果鏈接多個exec命令。多個exec命令并不是共享find命令的搜索結果。

而是第一個exec命令的結果再傳遞下一個exec命令。例如以下命令它將首先搜索.hbs文件。然后第一個exec命令的標準輸出傳遞到第二個exec命令。

Find是很強大的命令,用于根據多個條件搜索文件。exec命令使您能夠處理find命令的結果。

find . -type f -name "*js" -exec ls {} \\; -exec grep -H keyword {} \\;

find exec 命令修改文件目錄權限所有權

修改文件和目錄的所有權是組合Find exec命令另一個例子。以下命令,搜索myfreax用戶擁有的文件,然后將其所有權更改為myfreax.com

如果你學會更改文件的所有權,自然你很容易就會使用find exec命令修改文件目錄權限,-type f是文件,-type d是目錄。

在這里分享的例子只是簡單的示例。find exec命令組合一起為您提供了在Linux命令行中執行操作的無限可能。

sudo find /home/myfreax/disk/Downloads -user myfreax -type f -exec chown myfreax.com {} \\;

sudo find /home/myfreax/disk/Downloads -type f -exec chmod 644 {} \\;
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11479

    瀏覽量

    213056
  • Find
    +關注

    關注

    0

    文章

    55

    瀏覽量

    11834
  • 命令
    +關注

    關注

    5

    文章

    733

    瀏覽量

    22749
收藏 0人收藏

    評論

    相關推薦
    熱點推薦

    Linux find命令詳解

    find 命令是我們日常工作中比較常用的Linux命令。全面的掌握這個命令可以使很多操作達到事半功倍的效果。如果對find
    發表于 11-30 10:11 ?1768次閱讀

    Protel ***典型實例教程

    Protel ***典型實例教程Protel ***典型實例教程
    發表于 04-24 02:02

    [轉]find命令結合exec和xargs使用的區別

    使用的區別:使用-exec選項命令操作示例及結果如下:[code][root@oldboy ~]# find . -type f -exec echo oldboyedu { } \
    發表于 09-03 15:26

    Protel DXP 實例教程詳解

    Protel DXP 實例教程詳解Protel DXP 實例教程詳解下載介紹:Protel DXP 多媒體實例教程詳解
    發表于 03-12 02:12 ?0次下載

    adams實例教程下載

    adams實例教程:
    發表于 04-10 12:44 ?0次下載
    adams<b class='flag-5'>實例教程</b>下載

    spring實例教程下載

    spring實例教程下載
    發表于 09-11 11:30 ?109次下載
    spring<b class='flag-5'>實例教程</b>下載

    基于Keil的入門實例教程

    基于Keil的入門實例教程: 1 Keil工程文件的建立、設置與目標文件的獲得3 Keil 程序調試窗口2 Keil的調試命令、在線匯編與斷點設置4 Keil 的輔助工具和部份高級技巧
    發表于 08-10 08:36 ?355次下載

    Mathcad軟件實例教程

    Mathcad軟件實例教程 PPT格式
    發表于 05-04 17:20 ?0次下載

    CAXA數控車實例教程

    CAXA數控車實例教程
    發表于 10-11 16:06 ?451次下載
    CAXA數控車<b class='flag-5'>實例教程</b>

    串口通信實例教程

    串口通信實例教程,感興趣的可以看看。
    發表于 06-23 17:56 ?0次下載

    深入Linux操作環境的findexec用法

    在Linux下工作,find命令絕對是一個非常高頻的命令。我們可以用find命令來找到符合某些關鍵詞的文件,找到某些日期的文件,也可以設定一
    的頭像 發表于 10-08 14:50 ?5651次閱讀
    深入Linux操作環境的<b class='flag-5'>find</b>和<b class='flag-5'>exec</b>用法

    單片機開發技術實例教程

    單片機開發技術實例教程說明。
    發表于 03-30 09:41 ?46次下載
    單片機開發技術<b class='flag-5'>實例教程</b>

    電磁仿真實例教程

    電磁仿真實例教程免費下載。
    發表于 04-21 10:57 ?42次下載

    find命令查找技巧

    find命令是我們日常工作中比較常用的Linux命令。全面的掌握這個命令可以使很多操作達到事半功倍的效果。如果對find
    的頭像 發表于 03-20 09:33 ?977次閱讀

    docker exec命令的使用方法

    Docker是一種開源的容器化平臺,可以讓開發人員在容器中打包和運行應用程序。它提供了一種快速、可靠和一致的方式來構建、部署和運行應用程序。Docker exec命令是Docker提供的一個非常
    的頭像 發表于 11-23 09:33 ?2226次閱讀
    主站蜘蛛池模板: 吃奶吸咪咪动态图 | 蜜芽视频在线观看视频免费播放 | 野花韩国高清完整版在线 | 美女逼逼毛茸茸 | 中俄两军在日本海等上空战略巡航 | 精品亚洲AV无码蜜芽麻豆 | 中文字幕亚洲无限码 | 闺蜜撬开我的腿用黄瓜折磨我 | 久久88综合 | 国产精品久久久久久免费播放 | 精品亚洲大全 | 国产视频成人 | 精品久久伦理中文字幕 | 在线日韩欧美一区二区三区 | 又黄又粗又爽免费观看 | 欧美一区二区三区不卡免费 | 日本精品久久久久中文字幕 1 | 亚洲免费在线观看 | 成片免费观看视频在线网 | 51成人精品午夜福利AV免费七 | 性色AV一区二区三区咪爱四虎 | 黑人阴茎插女人图片 | 极品少妇小泬50PTHEPON | 九热这里只有精品 | 在线免费观看a视频 | WWW国产精品人妻一二三区 | 精品一二三区久久AAA片 | 国产成人精品视频 | 办公室里做好紧好爽H | 久99久热只有精品国产99 | 99RE8国产这里只有精品 | 狠很橹快播 | 国产精品美女WWW爽爽爽视频 | 久久精品九九亚洲精品天堂 | 精品夜夜澡人妻无码AV蜜桃 | 精品国产成a人在线观看 | 双性将军粗壮H灌满怀孕 | 最好看中文字幕国语 | 亚洲一品AV片观看五月色婷婷 | 久久成人伊人欧洲精品AV | 91国在线产|

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品