2011-01-23 8 views
1

特定の式を置き換えて他の式を削除するスクリプトを作成しましたが、特殊文字のクリーンアップに失敗しました。 LANG = Cを設定すると解決しましたが、その環境変数をsedから設定することは可能ですか?sedからLANG変数を設定できますか?

答えて

0

スクリプトがsedスクリプトの場合、その部分をバンプして標準のシェルスクリプトに入れることができます。例えば(sedinfo文書の例である。)

#!/bin/sh 

export LANG=C 

/usr/bin/sed ' 
1 { 
    x 
    s/^$/  /
    s/^.*$/&&&&&&&&/ 
    x 
} 
' "[email protected]" 

#!/usr/bin/sed -f 

1 { 
    x 
    s/^$/  /
    s/^.*$/&&&&&&&&/ 
    x 
} 

末尾"[email protected]"によれば、引数を渡すと同じように標準入力処理します。それだけでコマンドやスクリプトの単一の呼び出しのために積極的だよう

+1

使用 ''「$ @」;二重引用符は重要です。それらがなければ、$ @は$ *と同じで、ファイル名のスペースを破壊します(より正確には区切り文字として扱い、別々の引数として2つ以上に分割します)。 **常に '' $ @ "'を使用します(通常、ほとんどの場合、 'いつも'いつもあなたが特別なケースでは必要ない理由を知るまで) - 一般的には '' $ @ "'それについて二度考えないでください)。 –

+0

優秀な点、ありがとうございます。 –

2

いいえ、必要はありません。 sedコマンドを実行する前にenvirinment変数を設定することができます。

0

あなたは、環境変数を設定することができます。

LANG=C sed ... 

または

LANG=C sedscript 
関連する問題