2016-11-16 1 views
0

私はcsvファイルのリストを持っており、forループを使って各ファイルの内容を編集したいと思っています。私はsedでそれをしたいと思います。sedでフォルダ内のファイルを反復する

sed 's/[ "-]//g' 

をだから今、私は、フォルダ内の各ファイルに対して、このコマンドを実行したい:私は1つのファイルでそれをテストするときに正常に動作します。このsedのコマンドがあります。私はこれを試してみたが、これまでのところ運:

for i in *.csv; do sed 's/[ "-]//g' > $i.csv; done 

私は彼がSEDによって行わ編集して各ファイルを上書きすることを好まないだろう。 ' - ' sedのコマンドは、すべてのスペース、 "および削除します。文字を

答えて

0

小さな変化、

for i in *.csv 
do 
    sed -i 's/[ "-]//g' "$i" 
done 

変更

  • あなたはforあなたはファイル名を取得を反復処理します$iの場合はone.csvtwo.csvなどです。sedコマンドの入力としてこれらを直接使用することができます。

  • -iインライン変更の場合、sedは置換を行い、ファイルを更新します。出力のリダイレクトは必要ありません。あなたが書いたコードで

  • は、私はあなたが

+0

おかげで、それが動作sedコマンドに任意の入力を逃したと思います! – Donald

関連する問題