2016-08-19 29 views
-1

我想從2016開始的目錄中讀取文件名。輸出應該創建到另一個文件。如何在Unix下讀取子目錄的文件名?

例如,我有目錄/ bishare/DLSFTP /在此我有2016-06,2016-06和2016-07。

所有具有子目錄的目錄也是如此。

我需要的,這將是具有目錄的細節3輸出文件開始與2016年

編輯:

最初我寫了下面的腳本:

#!/bin/bash CURRENT_DATE=date +'%d%m%Y' File_Path=/bishare/DLSFTP/2016-06 cd /appinfprd/biIA83/Client/Scripts/IRP/ cd cd $File_Path for i in $(find . -maxdepth 1 -type d) ; do echo -n $i": " ; 
File_Data=find $i type f |ls -R printf '%s\n' "$D" "|" "$File_Data" /n>> /appinfprd/biIA83/Client/Scripts/IRP/Bishare_File_Data_$CURR‌​ENT_DATE.txt done 
+0

最初我寫了下面的腳本。 #!/斌/慶典 CURRENT_DATE ='日期+「%d%M%Y'' FILE_PATH =/bishare/DLSFTP/2016-06 CD/appinfprd/biIA83 /客戶/腳本/ IRP/ CD CD $ File_Path for i in $(find。-maxdepth 1 -type d);做 echo -n $ i「:」; File_Data ='find $ i type f | ls -R' printf'%s \ n'「$ D」「| |」 「$ File_Data」/ n >> /appinfprd/biIA83/Client/Scripts/IRP/Bishare_File_Data_$CURRENT_DATE.txt done – Midhun

+0

您的腳本在哪裏? –

回答

0

可以使用用exec param和ls命令查找命令如下;

find . -name "2016*" -type d -exec bash -c 'ls "{}"> "{}".txt ' \; 

LS輸出寫入<directoryName>.txt

要找到它與2016年啓動以下所有目錄和鍵入-d僅發現目錄;

find . -name "2016*" -type d 

要爲每個目錄的執行LS和寫入輸出到folderName.txt文件

-exec bash -c 'ls "{}"> "{}".txt ' \; 
+0

嘿,我試過了,它爲所有數據創建單個文件。我想根據月份分割數據。在這種情況下,我需要3個文件。有沒有什麼辦法根據月份分開數據。 – Midhun

+0

@Midhun,我更新了答案。你可以試試嗎? –

+0

你好muzi,它的工作。我可以在單個文件中獲得所有細節。謝謝。 – Midhun

0

嘗試這種 find需要一個起點,和。(點)被選擇的當前目錄。例如。如果你在/ home/myuser中,找到/ home/myuser並找到。有相同的結果

find . -name "2016*" 
相關問題