Bash
從 csv/txt 文件創建文件夾和子文件夾
我有一個 excel 文件,我將使用以下數據將其轉換為 csv 或 txt 文件:
ALFA ROMEO > 147 > Scheinwerferblenden ALFA ROMEO > 156 > Scheinwerferblenden ALFA ROMEO > 156 > Kühlergrill AUDI > 80 B3 > Heckspoiler . .
等等
我需要使用以下語法基於此數據創建文件夾和子文件夾:
├───ALFA ROMEO │ ├───147 │ │ └───Scheinwerferblenden │ └───156 │ ├───Scheinwerferblenden │ └───Kühlergrill │ └───AUDI └───80 B3 └───Heckspoiler
我嘗試編寫 mkdir -p bash 腳本但沒有成功。
使用您提供的輸入,我可以使用以下命令完成此操作
while read -r dir; do mkdir -p ./"$dir"; done< <(sed 's@ > @/@g' input)
如果不是目前目錄,您可以替換
./
為您希望目錄樹開始的目錄路徑。這用於
sed
將您的輸入行從以下內容轉換:ALFA ROMEO > 147 > Scheinwerferblenden
到:
ALFA ROMEO/147/Scheinwerferblenden
然後它將此輸出提供給
mkdir -p
用於創建目錄樹的 while 循環。$ cat input ALFA ROMEO > 147 > Scheinwerferblenden ALFA ROMEO > 156 > Scheinwerferblenden ALFA ROMEO > 156 > Kühlergrill AUDI > 80 B3 > Heckspoiler $ while read -r dir; do mkdir -p ./"$dir"; done< <(sed 's@ > @/@g' input) $ tree . ├── ALFA\ ROMEO │ ├── 147 │ │ └── Scheinwerferblenden │ └── 156 │ ├── K\303\274hlergrill │ └── Scheinwerferblenden ├── AUDI │ └── 80\ B3 │ └── Heckspoiler └── input 9 directories, 1 file