在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

find exec命令實(shí)例教程

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

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

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

此時(shí)你兩種方法可以對(duì)find命令的結(jié)果執(zhí)行指定的操作。第一種是使用xargs命令,第二種是exec命令。

我們已經(jīng)編寫過有一篇xargs命令詳解的文章。本教程將重點(diǎn)詳解組合find exec命令的用法。

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

在開始本教程之前,請運(yùn)行touch命令touch file1.txt file2.txt file3.txt創(chuàng)建教程需要使用的文件。

touch file1.txt file2.txt file3.txt

find exec 命令實(shí)例教程

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

[command]是您要對(duì)find命令的結(jié)果執(zhí)行的操作。{}是一個(gè)占位符,用于保存find命令的搜索結(jié)果。

\\;表示[command]命令的結(jié)束。在這里你需要轉(zhuǎn)義;避免shell的解釋,因此會(huì)寫成這樣\\;。

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

+表示對(duì)于find命令搜索結(jié)果,運(yùn)行一次[command]。所有結(jié)果都作為參數(shù)一起傳遞給[command]

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

find . -type f -exec ls {} ;命令將會(huì)對(duì)搜索每一個(gè)搜索結(jié)果運(yùn)行ls命令,類似于運(yùn)行3次ls命令,但每次參數(shù)都是不同的文件。

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

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

{} \\;運(yùn)行多次同一個(gè)命令相比,使用{} +是更好的選擇,因?yàn)樾阅芨?。但在某些情況你不能這樣做。

如果find命令搜索結(jié)果有50個(gè),則不能將搜索結(jié)果作為參數(shù)一次傳遞給命令,因?yàn)長inux對(duì)最大命令行長度有限制。

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

find exec 命令搜索重命名文件擴(kuò)展

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

以下命令將會(huì)修改當(dāng)前目錄的所有*.txt文件擴(kuò)展名為.js-exec運(yùn)行sh命令啟動(dòng)子shell進(jìn)程。

sh -c 'mv "$1" "${1%.txt}.edefg"'子shell進(jìn)程運(yùn)行命令mv "$1" "${1%.txt}.js"。${1%.txt}.js參數(shù)將會(huì)匹配原始文件擴(kuò)展名的txt并替換為js。

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

find exec 命令刪除文件

自動(dòng)刪除文件時(shí)請格外小心。如果不注意,可能會(huì)是災(zāi)難性的。要么使用交互式刪除命令rm -i,要么先打印查看find命令搜索的結(jié)果。

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

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

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

Find exec grep 命令搜索文件內(nèi)容

find命令僅對(duì)文件屬性進(jìn)行搜索。而grep命令可用于文件的內(nèi)容。將Find exec和grep組合起來,您就得到一個(gè)強(qiáng)大的命令行搜索工具。

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

這里之所以使用grep命令的-H選項(xiàng),是因?yàn)間rep默認(rèn)不打印匹配搜索模式的文件名。-H選項(xiàng)將會(huì)打印匹配的文件名和匹配的內(nèi)容并使用:分隔。

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

Find 命令與多個(gè)exec

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

而是第一個(gè)exec命令的結(jié)果再傳遞下一個(gè)exec命令。例如以下命令它將首先搜索.hbs文件。然后第一個(gè)exec命令的標(biāo)準(zhǔn)輸出傳遞到第二個(gè)exec命令。

Find是很強(qiáng)大的命令,用于根據(jù)多個(gè)條件搜索文件。exec命令使您能夠處理find命令的結(jié)果。

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

find exec 命令修改文件目錄權(quán)限所有權(quán)

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

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

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

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 {} \\;
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11415

    瀏覽量

    212262
  • Find
    +關(guān)注

    關(guān)注

    0

    文章

    55

    瀏覽量

    11776
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    719

    瀏覽量

    22623
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Protel ***典型實(shí)例教程

    Protel ***典型實(shí)例教程Protel ***典型實(shí)例教程
    發(fā)表于 04-24 02:02

    [轉(zhuǎn)]find命令結(jié)合exec和xargs使用的區(qū)別

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

    Protel DXP 實(shí)例教程詳解

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

    adams實(shí)例教程下載

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

    spring實(shí)例教程下載

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

    基于Keil的入門實(shí)例教程

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

    Mathcad軟件實(shí)例教程

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

    CAXA數(shù)控車實(shí)例教程

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

    串口通信實(shí)例教程

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

    Proteus的8051單片機(jī)實(shí)例教程

    Proteus的8051單片機(jī)實(shí)例教程
    發(fā)表于 10-16 09:56 ?54次下載

    深入Linux操作環(huán)境的findexec用法

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

    單片機(jī)開發(fā)技術(shù)實(shí)例教程

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

    電磁仿真實(shí)例教程

    電磁仿真實(shí)例教程免費(fèi)下載。
    發(fā)表于 04-21 10:57 ?41次下載

    find命令查找技巧

    find命令是我們?nèi)粘9ぷ髦斜容^常用的Linux命令。全面的掌握這個(gè)命令可以使很多操作達(dá)到事半功倍的效果。如果對(duì)find
    的頭像 發(fā)表于 03-20 09:33 ?902次閱讀

    docker exec命令的使用方法

    Docker是一種開源的容器化平臺(tái),可以讓開發(fā)人員在容器中打包和運(yùn)行應(yīng)用程序。它提供了一種快速、可靠和一致的方式來構(gòu)建、部署和運(yùn)行應(yīng)用程序。Docker exec命令是Docker提供的一個(gè)非常
    的頭像 發(fā)表于 11-23 09:33 ?2004次閱讀
    主站蜘蛛池模板: 222www在线观看免费 | 青青热久久国产久精品秒播 | 色爱区综合激月婷婷激情五月 | 国产精品久久精品福利网站 | 91极品女神嫩模在线播放 | 久久9精品| 成人午夜免费剧场 | 日本免费xxxx色视频 | 亚洲综合视频一区 | 大尺度视频网站久久久久久久久 | 丁香久久婷婷 | 网站在线观看视频 | 日本理论在线 | 天天插天天爱 | 一区二区三区四区在线免费观看 | 婷婷久久综合 | 成人精品一区二区三区电影 | 国产午夜免费视频 | 欧美五月| 日本黄色高清视频 | 中文永久免费看电视网站入口 | 欧美区亚洲区 | 国产综合视频在线 | 成 人 免费观看网站 | 九色综合九色综合色鬼 | 久久天天躁狠狠躁夜夜躁综合 | 狼狼鲁狼狼色 | 黄色大片在线免费观看 | 免费午夜网站 | 免费观看在线观看 | 人人免费人人专区 | 亚洲成人三级电影 | 人人干网站 | 男女一进一出抽搐免费视频 | 色播视频在线观看免费 | 日本口工全彩无遮拦漫画大 | 国产男靠女免费视频网站 | 国产五月婷婷 | 四虎影院网址大全 | 久久青草免费免费91线频观看 | 国模张文静啪啪私拍337p |