簡體   English   中英

如何在Linux中的多個目錄中創建文件?

[英]How to create a file in multiple directories in Linux?

我只是在Linux中練習這個,但我想知道如何使用touch來創建一個空文件並將其存在於多個目錄中。

例如,我有一個像followng一樣的目錄布局:

~/main
~/main/submain1
~/main/submain2
.
.
.
~/main/submainN

如何讓touch創建的文件存在於所有子submain目錄中? 我的第一個想法是有一個循環使用cd訪問每個目錄並在每次迭代時調用touch命令。 我想知道是否有更優雅的解決方案?

那這個呢:

find . -type d -exec touch {}/hiya \;

這適用於任何深度級別的目錄。

說明

find . -type d -exec touch {}/hiya \;
  • find . -type d find . -type d - >搜索目錄結構中的目錄。
  • -exec touch {}/hiya \\; - >給出每個結果,其值存儲在{} 因此, touch {}/hiya我們所做的就是觸摸“某事”/ hiya。 最后的\\; execfind子句中是必需的。

find用法的另一個例子:

find . -type d -exec ls {} \;

測試

$ mkdir a1
$ mkdir a2
$ mkdir a3
$ mkdir a1/a3

檢查目錄:

$ find . -type d
.
./a2
./a1
./a1/a3
./a3

觸摸文件

$ find . -type d -exec touch {}/hiya \;

尋找他們:

$ find . -type f
./a2/hiya
./hiya
./a1/hiya
./a1/a3/hiya
./a3/hiya

文件/目錄的總列表是:

$ find .
.
./a2
./a2/hiya
./hiya
./a1
./a1/hiya
./a1/a3
./a1/a3/hiya
./a3
./a3/hiya

暫無
暫無

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

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