以下のようなファイルが数百件あります。私のsqlldr 'にテキスト修飾子があり、テキスト自体にアポストロフィを含むWegman's
のようなテキストのためにファイルが拒否されます。特定のパターンと一致しない文字列を置き換えます。
sed/awkを使用すると、そのような文字列を見つけて 'tick'と置き換える方法がありますか?
t2.txt';'20160707071500';'478251533';'TWN';'20160620160801';'1';'691891-2';'2';'0';'Employer';'1';'OMCProcessed';'Wegman's Food Market';'';'Wegman's Food Markets';'14411364807'
私が考えていた解決策の1つは、 'と等しくないテキストを見つけることです。どのように使用するように配置するか分からない。
ニースより良い代替手段です。 'sed -r" s /([^;]) '([^;])/ \ 1 "\ 2 /"ファイル 'のように読みやすいかもしれません。 – SLePort
@Kenavozあなたのソリューションははるかに簡単ですが、グローバルを置き換えるために '/ g'を追加する必要はありませんか? 'sed -r" s /([^;]) '([^;])/ \ 1 \ 2/g "t1'これは私の作品です。 – user2570205
@Kenavoz、より読みやすく修正しました。何らかの理由で二重引用符を避けようとしています。文字コードを使用すると、スクリプトの一重引用符の連結ダンスを避けることができます。 – karakfa