区切り記号があり、~@~~@~
時には 。したがって、ファイルのデータは次のようになります。~@~
~@~~@~
~@~~@~
ABC~@~~@~TUV~@~~@~XYZ~@~PQR~@~13470~@~Management~@~Non-Employee IJK~@~T~@~12345~@~12345~@[email protected]~@~B~@~~@~~@~~@~6789~@~09/25/2017 11:31:22.000000~@~09/25/2017 3:22:03.000000~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~~@~\n
「最後の日付」フィールドから「行末」までの文字を削除する必要があります。私はこれを試しましたが、sed 's/~@~~@~~@~\n*//g' File name>Replacedfilename.txt
最後に特殊文字セットが保持されます。
ベストアンサー1
... | sed 's/\(~@~\)*$//'
行末を任意の数だけ削除します~@~
(もちろん、\n
例の行末がリテラルバックスラッシュと小文字Nではなく行末の改行を表すと仮定します)。
または、拡張正規表現をサポートするsでは、次のようになりますsed
。-E
... | sed -E 's/(~@~)+$//'
あるいは、awk -F'~@~'
必要なフィールドを同時に使用して処理することもできます。