![](/img/trans.png)
[英]move all the folders and files to the folder with the same subject name in the directory Linux
[英]Linux: Find all folders with a particular name, remove them and have a folder copied into the parent directory of those folders
我正在嘗試查看是否可以在Linux中使用單行命令執行以下操作:
我有一個名為FolderA的文件夾,該文件夾位於PC的3個不同位置。 我必須在幾台Linux機器上運行命令以替換FolderA(它們都可以隱藏在單獨的父文件夾中,獲取它們的位置並替換FolderB(我知道它在哪里,並且它是固定路徑,例如在當前目錄中) ,這與FolderA所在的位置不同。)刪除FolderA,然后將FolderB復制到FolderA所在的位置。
我知道這有很多工作要做,我可以粗略地弄清楚使用find命令來獲取位置,使用rm -rf來刪除文件夾(但是我不知道如何使用find中的結果),然后使用cp復制文件夾。 但是,如何單行處理呢?
謝謝!
在這里,我認為這應該做您想要的。
find / -name '*FolderA' -delete -print | xargs -l dirname | xargs -l cp FolderB
find
命令將在整個文件系統中搜索以FolderA結尾的路徑,將其刪除,然后打印該文件夾的路徑。 xargs -l
從find
輸出中獲取每一行,並以每行作為參數調用dirname
。 dirname
采用路徑並截斷路徑上的最后一項。 最后一個命令使用xargs
將上一個命令的每一行輸出作為cp
命令的目標。 警告:這尚未通過路徑中的空格進行測試。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.