2016-05-08 8 views
0

ユーザー指定ファイルの最初の5行と最後の9行を削除するbashスクリプトがあります。私は〜100のファイルを1日に実行する必要があります、ディレクトリ全体に対してスクリプトを実行し、同じファイル名を持つ別のディレクトリにすべてのファイルを出力する方法はありますか?ここに私が使っているスクリプトがあります。ディレクトリ全体でbashスクリプトを実行する

read -e file 
$file | sed '1,7d' | head -n -9 > ~/Documents/Databases/db3/$file 
rm $file 

非常に多くのファイルがスクリプトの中核であるため、ループするように設定しました。あなたが行うことができます

答えて

2

:入力ディレクトリを想定し

for file in ~/Documents/Databases/db3/*; do 
    [ -f "$file" ] && sed '1,7d' "$file" | head -n -9 > /out/dir/"${file##*/}" 
done 

~/Documents/Databases/db3/で、出力ディレクトリが/out/dir/です。

+0

これは完全なファイルパスとして「$ file」と名前が付けられているようですので、新しいディレクトリに置くことはできません。 – Matt

+0

@Matt My bad..fixed .. – heemayl

関連する問題