файл формата для удаления "символов

У меня есть файл со следующими данными

"MG1507XXXXXX|" "|020000XXXXXX" "20261031|" "|3,827.92" "|3,581.41" "|542,729.62" "MBA" "MG1507XXXXXX|" "|020000XXXXXX" "20261130|" "|3,680.15" "|3,729.18" "|539,000.44" "MBA" "MG1507XXXXXX|" "|020000XXXXXX" "20261231|" "|3,776.70" "|3,632.63" "|535,367.81" "MBA" "MG1507XXXXXX|" "|020000XXXXXX" "20270131|" "|3,751.24" "|3,658.09" "|531,709.72" "MBA" "MG1507XXXXXX|" "|020000XXXXXX" "20270228|" "|3,365.07" "|4,044.26" "|527,665.46" "MBA" "MG1507XXXXXX|" "|020000XXXXXX" "20270331|" "|3,697.28" "|3,712.05" "|523,953.41" "MBA" "MG1507XXXXXX|" "|020000XXXXXX" "20270430|" "|3,552.84" "|3,856.49" "|520,096.92" "MBA" "MG1507XXXXXX|" "|020000XXXXXX" "20270531|" "|3,644.24" "|3,765.09" "|516,331.83" "MBA" "MG1507XXXXXX|" "|020000XXXXXX" "20270630|" "|3,501.16" "|3,908.17" "|512,423.66" "MBA" "MG1507XXXXXX|" "|020000XXXXXX" "20270731|" "|3,590.47" "|3,818.86" "|508,604.80" "MBA" "MG1507XXXXXX|" "|020000XXXXXX" "20270831|" "|3,563.72" "|3,845.61" "|504,759.19" "MBA" "MG1507XXXXXX|" "|020000XXXXXX" "20270930|" "|3,422.68" "|3,986.65" "|500,772.54" "MBA" "MG1507XXXXXX|" "|020000XXXXXX" "20271031|" "|3,508.84" "|3,900.49" "|496,872.05" "MBA" 

Как бы то ни было, я хочу изменить его, чтобы он выглядел

 MG1507XXXXXX|020000XXXXXX|20261031|3,827.92|3,581.41|542,729.62|MBA| MG1507XXXXXX|020000XXXXXX|20261130|3,680.15|3,729.18|539,000.44|MBA| MG1507XXXXXX|020000XXXXXX|20261231|3,776.70|3,632.63|535,367.81|MBA| MG1507XXXXXX|020000XXXXXX|20270131|3,751.24|3,658.09|531,709.72|MBA| MG1507XXXXXX|020000XXXXXX|20270228|3,365.07|4,044.26|527,665.46|MBA| MG1507XXXXXX|020000XXXXXX|20270331|3,697.28|3,712.05|523,953.41|MBA| MG1507XXXXXX|020000XXXXXX|20270430|3,552.84|3,856.49|520,096.92|MBA| MG1507XXXXXX|020000XXXXXX|20270531|3,644.24|3,765.09|516,331.83|MBA| MG1507XXXXXX|020000XXXXXX|20270630|3,501.16|3,908.17|512,423.66|MBA| MG1507XXXXXX|020000XXXXXX|20270731|3,590.47|3,818.86|508,604.80|MBA| MG1507XXXXXX|020000XXXXXX|20270831|3,563.72|3,845.61|504,759.19|MBA| MG1507XXXXXX|020000XXXXXX|20270930|3,422.68|3,986.65|500,772.54|MBA| MG1507XXXXXX|020000XXXXXX|20271031|3,508.84|3,900.49|496,872.05|MBA| 

Я не уверен, что использовать для достижения этого. Есть идеи ?

  • Как заменить строку в скобках с помощью sed
  • Горизонтальная конкатенация файлов
  • поля фильтра в файле, без постоянного формата записи
  • Добавить круглые скобки вокруг чисел
  • Как я могу рассчитать среднее значение для каждой строки, исключая первое значение каждой строки?
  • Найдите любые линии, превышающие определенную длину
  • сопоставить первый столбец файла a с параграфами файла b
  • Извлечение информации из текстового файла
  • 5 Solutions collect form web for “файл формата для удаления "символов”

    Предполагая, что ваши данные находятся в файле с именем 'data':

     sed -e s'/^"//' -e 's/|" "|/|/g' -e 's/" "|/|/g' -e 's/" "/|/g' -e s'/"$/|/' data 

    Вы можете tr анслировать все пробелы и двойные кавычки в |s queeze), а затем cut из второго символа в конец строки:

     tr -s '[[:blank:]"]' \| <infile | cut -c2- 
     sed -i 's/\"//g' filename 

    Вы можете избежать символа, поставив a \ . Если вы хотите удалить все пробелы, сделайте следующее:

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

    Попробуй это:

     sed -e 's/["| ]\+/|/g' -e 's/^|//' < file 

    Первое выражение заменит каждый блок, содержащий один или несколько |, », или пробелы с одним |. Второй удалит | в начале каждой строки.

    используя awk

     awk ' BEGIN { FS="[|\" ]+" ; OFS="|" } { print $2,$3,$4,$5,$6,$7,$8"|" } ' file 

    Объяснение:

    BEGIN { FS="[|\" ]+" ; OFS="|" } сначала установили следующее:

    FS="[|\" ]+" : поля разделяются любой комбинацией ( + ) (ноль или более) из набора ( [] ) трубы, двойных кавычек (необходимо экранировать) и пробела |\" .

    OFS="|" отделяйте выходные поля от труб.

    print $2,$3,$4,$5,$6,$7,$8"|" печатать столбцы с 1 по 8 и трубку в конце (обратите внимание, что она сдвигается на единицу, так как строки начинаются с двойных кавычек, что делает первое поле пустой строкой и, таким образом, сдвигает положение всех остальных).

    Linux и Unix - лучшая ОС в мире.