2012-01-26 5 views
11

を作成するリダイレクト?

私はそれを行うことができない場合、どのようにディレクトリ 'b'にディレクトリ 'a'のすべてのフォルダ(内容なし)を複製するスクリプトを持つことができますか?

例えば、私が持っている場合

/F1/
/F2/
/F3 /私が持っていると思います

B/F1/
B/F2/
b/f3/

答えて

11

他の回答は、外部コマンド「DIRNAME」を使用しています。これは、外部ユーティリティを呼び出すことなく行うことができます。

mkdir -p "${f%/*}" 

ディレクトリがすでに存在する場合にも確認することができますが、これは実際には、mkdir -pでは必要ありません:ヒントの

mydir="${f%/*}" 
[[ -d $mydir ]] || mkdir -p "$mydir" 
+0

おかげで、しかし、正しい構文は、 '$ {実際にありますf%/ *} ' – baruch

+0

私は答えを更新しました。申し訳ありませんが、私は 'dirname'ではなく、' basename'の代わりをあなたに与えました。 – jordanm

5

try

mkdir -p `dirname $f` && echo "something" > $f 
1

あなたは、ファイルに書き込む前にフォルダを作成するためにmkdir -pを使用することができます:ここ

mkdir -p "$(dirname $f)" 
0
echo "something" | install -D /dev/stdin $f 
関連する問題

 関連する問題