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

Linux從文件中逐行讀取文件名并將匹配的文件復(fù)制到指定目錄

這篇具有很好參考價值的文章主要介紹了Linux從文件中逐行讀取文件名并將匹配的文件復(fù)制到指定目錄。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

問題應(yīng)該算挺常見的但是一句話還挺難說清楚,所以百度特別難搜。

場景就是,有一堆以員工名稱命名的文件(名稱可能還有字母數(shù)字等前后綴),現(xiàn)在給定一個員工清單,需要從這些文件中篩選出員工清單上列出的員工的文件,并復(fù)制到另外一個目錄中。

輸入:

1. 許多文件名包含員工名稱的文件

2.一個清單文件,里面包含需要篩選的員工列表,每個員工名稱一行

輸出:

1.在清單上的員工的文件

?

研究了一下,需要綜合使用awk、find、cp命令

awk用于逐行的處理清單文件,find用于文件名匹配,cp命令用于文件復(fù)制

命令如下:

awk  -F '/' '{print "*"$NF"*"}' name.txt | sort | uniq | xargs -i find . -name {} | xargs cp -t ./output

print命令用于把輸出要匹配的文件名打印到管道中,使用"*"來拼接字符串來模糊匹配

?

因為是在Windows中用cygwin模擬的,源文件都是Windows里面的文件,所以在處理的過程中遇到了一些兼容問題,比如:

1. 源文件name.txt的編碼和特殊符號的問題,Windows默認文本文件保存為GB2312編碼,在Linux環(huán)境中處理后變成亂碼,修改為UTF-8后問題解決。Windows默認的換行符是CRLF,Linux默認的換行符是LF,Windows格式在處理的時候后綴的*號無法正常拼接,換成Linux的換行符后問題解決。

2. 上面的命令復(fù)制出的文件默認沒有權(quán)限,在Windows中打不開,使用chmod命令修改后問題解決。文章來源地址http://www.zghlxwxcb.cn/news/detail-499612.html

到了這里,關(guān)于Linux從文件中逐行讀取文件名并將匹配的文件復(fù)制到指定目錄的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 如何在 Linux 中批量改變文件名?

    在Linux中,使用 \\\"rename\\\" 命令可以批量修改文件名。具體步驟如下: 1. 打開終端并進入你要批量修改文件名的目錄: ``` cd /path/to/directory ``` 2. 使用 \\\"rename\\\" 命令來修改文件名。例如,將所有的 \\\".txt\\\" 文件擴展名改為 \\\".md\\\" 擴展名,可以使用以下命令: ``` rename \\\'s/.txt$/.md/\\\' *.txt ```

    2024年02月05日
    瀏覽(94)
  • Linux中文件名修改的多種方法

    Linux中文件名修改的多種方法

    找一個不算漂亮的普通女孩,一起柴米油鹽,一起日出日落,一起田間地頭,一起春花冬雪!要一個不算大的小房子,生兩個健康可愛的寶寶,這樣就很好。。。。。。 簡介: 在Linux系統(tǒng)中,通過命令行界面可以方便地修改文件名。本篇博客將介紹幾種常見的方法,包括 m

    2024年01月18日
    瀏覽(20)
  • linux修改文件名的三種方法

    linux修改文件名的三種方法

    我們在使用linux系統(tǒng)過程中為了便于記憶或整理維護,經(jīng)常需要對文件名進行修改,下面文章介紹了linux系統(tǒng)的三種修改文件名稱的方式。 語法:mv [options] source dest 參數(shù)說明: 示例:將a.txt修改為a1.txt 語法:cp [options] source dest 參數(shù)說明: 示例:將a.txt修改為a1.txt,通過cp命令

    2024年02月02日
    瀏覽(38)
  • linux 再文件夾目錄下,批量替換文件名、文件內(nèi)容字符串

    基本使用命令 具體使用命令方法 1.替換文件內(nèi)容 搜索當前目錄下所有.DTA文件,并將文件中字符串\\\"string1\\\",替換為\\\"string2\\\" 2.替換文件名 搜索當前目錄下所有.DTA文件,并將文件名中字符串\\\"string1\\\"替換為\\\"string2\\\". 3.批量替換文件內(nèi)容 該目錄及子目錄下所有文件,將文件中所有的字符

    2024年02月16日
    瀏覽(98)
  • Linux下修改文件名的三種方法

    在Linux系統(tǒng)中,有多種方法可以用來修改文件名。以下是三種常用的方法: 1. 使用 mv 命令 mv 命令是最基本也是最直接的方式來重命名文件。它的基本語法是: 打開終端 :首先,你需要打開一個命令行終端。 定位到文件所在目錄 :使用 cd 命令進入包含你想要重命名的文件的

    2024年01月17日
    瀏覽(25)
  • Linux中修改文件名的三種方法

    ??在Linux操作系統(tǒng)中,對文件名的修改是一項常見且至關(guān)重要的操作。文件名修改的需求多樣,包括但不限于:促進文件組織的清晰性、確保命名符合特定規(guī)則,以及簡單地修復(fù)拼寫錯誤。與通過圖形界面直接下載后修改文件名相比,采用命令行方式進行文件名修改,能夠帶

    2024年01月17日
    瀏覽(33)
  • Linux 服務(wù)器文件名亂碼常見問題

    在 Linux 服務(wù)器中,文件名亂碼是一個常見的問題,特別是當涉及到多語言字符集時。這可能導(dǎo)致文件名顯示異常,無法正確識別和處理文件。本文將介紹一些常見的文件名亂碼問題以及相應(yīng)的解決方法。 字符集問題 文件名亂碼的一個常見原因是字符集不匹配。當文件名包含

    2024年02月05日
    瀏覽(22)
  • Linux命令手冊-通過文件名查找文件(find、which、locate)(詳解)

    目錄 一、find命令 1、語法格式 2、選項說明 3、命令示范 二、which命令 1、語法格式 2、命令示范 三、locate命令 1、語法格式 2、命令示范: find命令在Linux中作為文件查找使用頻次很高,主要有以下幾種方式。 1、語法格式 find [路徑] [選項] [操作] 路徑:可以指定搜索的文件在

    2024年02月15日
    瀏覽(93)
  • linux修改文件名的三種方法有哪些

    在Linux中,你可以使用以下三種方法來修改文件名: 使用? mv ?命令: mv ?命令是用于移動或重命名文件和目錄的常用命令。要修改文件名,可以使用以下語法: php復(fù)制代碼 mv 舊文件名 新文件名 例如,要將文件? oldname.txt ?重命名為? newname.txt ,可以運行以下命令: bash復(fù)制

    2024年01月17日
    瀏覽(28)
  • Linux批量快速修改文件名的三種方法

    Linux批量快速修改文件名的三種方法

    在Linux中, 批量重命名文件 是一項常見且有用的操作。以下是三種常用的批量重命名文件的方法,每種方法都附有示例。這些方法既可以適用于新手,也適用于更有經(jīng)驗的用戶。 話不多說,直接上干貨! rename 命令 rename命令是一種強大的批量重命名工具,它支持使用正則表

    2024年04月11日
    瀏覽(94)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包