簡體   English   中英

使用單個命令在所有目錄下創建一個新目錄:Linux

[英]create a new directory under all directories using single command : Linux

如果我有目錄,則支持

dir_1/ dir_2/ dir_3/ 

如何使用一個命令在所有這些目錄下創建一個同名目錄?

這是為您提供的一個命令:

如果您希望子目錄與父目錄具有相同的名稱:

for i in ./dir_*; do mkdir -p "${i}/${i}"; done

如果您希望子目錄共享相同的新名稱。

for i in ./dir_*; do mkdir -p "${i}/new_dir_name"; done

您應該使用Brace Expansion

mkdir dir_{1..3}/newDir

當然,只有在您事先知道dirs的名稱的情況下,它才起作用。 但是不適用於“ sh”。

您可以使用以下find

find . -maxdepth 1 -type d -name 'dir_*' -exec mkdir {}/{} \;

測試:

$ ls
dir_1  dir_2  dir_3  file1  file2  file3

$ find . -maxdepth 1 -type d -name 'dir_*' -exec mkdir {}/{} \;

$ ls dir_1/
dir_1

使用find可以做到:

find . -type d -maxdepth 1 -execdir mkdir -p "{}/{}" \;

如果尚不存在,將創建directory/directory

暫無
暫無

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

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