A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
dir0とかがあるディレクトリをカレントディレクトリとして、次のコマンド(長いですが1行です)で行けるんじゃないでしょうか。
dir0配下にディレクトリは必ず一つという前提です。$ ls -F1 | grep '/$' | while read D ; do A=`ls -F1 ${D} | grep '/$'` ; find ${D}${A} -type f | while read F ; do mv ${F} ${D} ; done ; rmdir ${D}${A} ; done
敢えてシェルスクリプトにするなら、次のような感じ。
#!/bin/bash
ls -F1 | grep '/$' | while read D ; do
A=`ls -F1 ${D} | grep '/$'`
find ${D}${A} -type f | while read F ; do
mv ${F} ${D}
done
rmdir ${D}${A}
done
「ls -F」は、ファイルの種類によって末尾に記号がつく、ディレクトリなら「/」がつきます。
「ls -1」は、1行に1ファイルのみ出力です。
「while read D」は、1行をシェル変数「D」に代入してdo~doneの処理を繰り返すという意味です。
「A=`~~~`」は、~~~の出力結果をシェル変数「A」に代入するという意味。
若干ダサいですが、お望みのことはできるのではないかと思います。
No.2
- 回答日時:
こんな感じで良いですか。
データlostの責任もてませんのでbackupとってやってください。
bash3.2$ find .
.
./dir0
./dir0/subdir0
./dir0/subdir0/file0
./dir0/subdir0/file1
./dir1
./dir1/subdir1
./dir1/subdir1/file2
./dir1/subdir1/file3
bash3.2$
bash3.2$ for i in dir*
do
(cd $i ; mv subdir*/* . ; rmdir subdir*)
done
bash3.2$ find .
.
./dir0
./dir0/file0
./dir0/file1
./dir1
./dir1/file2
./dir1/file3
bash3.2$
No.1
- 回答日時:
ちょっとやりたいことがよくわからないのですが。
dir0/subdir0/file0
dir0/subdir0/file1
....
dir0/subdir0/file999
※ dir0ディレクトリの下にsubdir0ディレクトリだけ
という構造になっているということでしょうか。
「間のサブフォルダだけを消したい」というのは、
dir0/subdir0/file0 → dir0/file0
としたい、ということでしょうか?
それなら
ファイルをディレクトリへ移動→(必要なら)サブディレクトリの削除
でよいかと。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2022/10/26 17:14
- Visual Basic(VBA) Excel VBA フォルダ存在チェックについて Aフォルダの中にBフォルダがあります。 IF構文を 3 2022/09/16 19:36
- ソフトウェア フォルダ内の全サブフォルダ内のファイルパスをサブフォルダ毎に行を分けてリスト化したい 1 2022/11/13 10:27
- Visual Basic(VBA) エクセルのマクロについて教えてください 物件ごとのフォルダを作成してます そのフォルダ内にサブフォル 2 2023/07/02 17:58
- Visual Basic(VBA) マクロについて教えてください 作業中のフォルダを ThisWorkbook.Path と表示しますが 6 2023/07/02 15:44
- Excel(エクセル) フォルダ内のエクセルファイルを開かずにデータ採取する関数式 2 2022/12/22 22:15
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Excel(エクセル) 【VBA】フォルダAにある2つのファイルの内1つを、フォルダBへ。もう1つを、フォルダBへ移動したい 6 2022/07/26 08:51
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Excel(エクセル) 【VBAファイル移動】2つのマクロを順に実行。1つ目のマクロが実行不可⇒2つ目が実行不可となる件 2 2022/07/29 12:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ftpのmgetコマンドの自分の格納...
-
7zを使うとフォルダの中身がす...
-
SAMBA上に書き込んだファイルの...
-
バッチファルの置き場所
-
ホームページのディレクトリを...
-
Minecraftにforgeを入れたら、...
-
拡張子.dどういう意味
-
make時に出てきたエラーメッセ...
-
zorin os lite 15 のデスクトッ...
-
名前を付けて保存ダイアログの...
-
scpによるデータ転送後、ディレ...
-
FTPコマンドのCDについて
-
SVNのファイルを一括削除できない
-
ZIPを解凍するとフォルダ名が文...
-
2TBのUSBメモリを2000円ほどで...
-
B's Recorder GOLD9がフリーズ...
-
シンボリックリンクを貼る=PAT...
-
/(スラッシュ)で区切ったフル...
-
linuxのコマンドラインで、拡張...
-
FTPでPUTできない原因は何?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
7zを使うとフォルダの中身がす...
-
拡張子.dどういう意味
-
ftpのmgetコマンドの自分の格納...
-
make時に出てきたエラーメッセ...
-
/(スラッシュ)で区切ったフル...
-
ホームページのディレクトリを...
-
「照合パターンに合いません」...
-
linuxコマンド mkdirでディレ...
-
バッチファルの置き場所
-
「ドット(.)」と「¥」の意味...
-
scpによるデータ転送後、ディレ...
-
FTPコマンドのCDについて
-
"cp -a"と"cp -r"の違い
-
Linuxコマンドについて
-
tarコマンドのエラーについて
-
シンボリックリンクについて
-
ファイル名で / (スラッシュ...
-
unzipコマンドでディレクトリな...
-
macで、cdで移動できない
-
FTPでPUTできない原因は何?
おすすめ情報
dir0/subdir0/file0
dir0/subdir0/file1
dir1/subdir1/file2
dir1/subdir1/file3
…
を
dir0/file0
dir0/file1
dir1/file2
dir1/file3
…
としたいのです。
dir0とdir1のようなフォルダが1000個弱あります。
上の例だと、file0からfile3をdir0とdir1の直下に移動し、rmdirでsubdir0とsubdir1を削除…になるのでしょうか。
たぶん、for文で回すことになるのかなと思いつつ…
私は普段、プログラミングやシェルはしていないので、ここからどうしたら良いのか分からなくなってしまいました。
よろしくお願い致します。