簡體   English   中英

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 -lfind輸出中獲取每一行,並以每行作為參數調用dirname dirname采用路徑並截斷路徑上的最后一項。 最后一個命令使用xargs將上一個命令的每一行輸出作為cp命令的目標。 警告:這尚未通過路徑中的空格進行測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM