-1

重複の可能性:
シェル コマンドを、ネストされた (そして十分にエスケープされていない) サブディレクトリ内の多くのファイルに適用するにはどうすればよいですか?

このループを使用して、特定のディレクトリとサブディレクトリの下にあるすべてのファイルの空行を削除しています。しかし、それは機能していません

for file in /home/zubinan/public_html/src/Acme/*/*.php
do
sed '/^$/d' $file > tt
mv tt $file
done

It says Demo is a directory

4

4 に答える 4

1

これを試して;

for fname in `find /home/zubinan/public_html/src/Acme/ -type f`
do
    sed '/^$/d' $fname > tt
    mv tt $fname
done
于 2012-08-21T06:12:18.327 に答える
0

またはこれを試してください:

 find /home/zubinan/public_html/src/Acme/ -type f -name "*.php" -exec sed -e '/^$/d' -i \{\} \;
于 2012-08-21T07:51:43.233 に答える
0
for f in $(find /home/zubinan/public_html/src/Acme -type f \( -iname *.php \)); 
    do 
        relfilePath=${f:${#currentpath}:${#f}};
        // use  relfilePath here

    done
于 2012-08-21T06:31:06.440 に答える
0

あるディレクトリで指定されたすべてのファイルを処理する場合は、次のワンライナーを使用できます。

sed -i '/^$/d' `find /home/zubinan/public_html/src/Acme -name "*.php"`
于 2012-08-21T06:17:10.060 に答える