データセット名と日付/時刻を含む大容量ファイルがあります。
ss:Type="String">EDII.HA5274.FNS99R.R999999.LFN5913.G1795V00</Data>
ss:Type="DateTime">2022-12-28T00:00:00.000</Data>
ss:Type="DateTime">1899-12-31T23:50:14.000</Data>
ss:Type="String">EDII.HA5273.FNS9901R.R999999.LFN5913.G1796V00</Data>
ss:Type="DateTime">2022-12-29T00:00:00.000</Data>also,
ss:Type="DateTime">1899-12-31T23:43:35.000</Data>
「文字列」という単語の後に続く行を連結したいと思います。
私の最終結果は次のとおりです。
ss:Type="String">EDII.HA5274.FNS99R.R999999.LFN5913.G1795V00</Data>ss:Type="DateTime">2022-12- 28T00:00:00.000</Data>
ss:Type="DateTime">1899-12-31T23:50:14.000</Data>
ss:Type="String">EDII.HA5273.FNS9901R.R999999.LFN5913.G1796V00</Data>ss:Type="DateTime">2022- -29T00:00:00.000</Data>
ss:Type="DateTime">1899-12-31T23:43:35.000</Data>
私の解決策:
cat The_File.txt| sed 's/\(^.*String.*$\)\r\n/\1/g'
何もしませんでした。 "\r\n" は正しい eol 文字です。私のテキストエディタで見ることができます。
今詰まっています..
どんなアドバイスでも役に立ちます。また...私のソリューションに問題がありますか?
ありがとう
ベストアンサー1
私は使用しますアッ。行に「文字列」が含まれている場合は改行文字なしで印刷し、それ以外の場合は改行文字を使用してください。
awk '
BEGIN {FS = "\""; RS = "\r\n"}
{printf "%s%s", $0, $2 == "String" ? "" : RS}
' The_File.txt