スクリプトを書いていますが、Googleの助けを借りてもブロックされます。
これは私のコードです。
"find"のフォルダの場合 -d | sed "s#^.#$(pwd)#" sed 's/ /\ /g'` する エコ「$フォルダ」 完璧
これにより、 ""の最初のインスタンスだけが "\"に変わり、残りは変わりません。
どんなアイデアがありますか?
答え1
この方法でコマンドを書くのを忘れて、次のようにしてくださいfind -execdir
。
find . -type d -execdir sh -c 'pwd' \;
またはzshを使用してください。
for d in **/*(/); do
echo $d
done
答え2
xargs
繰り返すのではなく、要素リストに対して同じコマンドを実行できます。スペースを処理するいくつかのオプションがあります。
答え3
私の考えでは、あなたがすべてを複雑にしていると思います。
たぶんこれが必要かもしれません:
find $(pwd) -type d | sed 's/ /\\ /g'