У меня есть что-то вроде CSV-файла, в котором разделителем полей является "@".
ID @ Имя @ Фамилия @ Возраст @ Профессия @ адрес
1254343123@John@Smith@24@Engineer@Washington
23@Alexander@Kristofferson-Brown@Economic Advisor@Kent
...
Я хочу преобразовать его во что-то более понятное человеку, как в:
1254343123 John Smith 24 Engineer Washington
23 Alexander Kristofferson-Brown 35 Economic Advisor Kent
... где каждый столбец помечается определенным символом.
Я пробовал что-то, что использует значение размера TAB и добавляет несколько TAB к полю:
sed -e "{/@[^@]\{32,\}@/s/@\([^@]*\)@/\t\1\t/g};{/@[^@]\{24,31\}@/s/@\([^@]*\)@/\t\1\t/g};{/@[^@]\{16,23\}@/s/@\([^@]*\)@/\t\1\t\t/g};{/@[^@]\{8,15\}@/s/@\([^@]*\)@/\t\1\t\t/g};{/@[^@]\{2,7\}@/s/@\([^@]*\)@/\t\1\t\t\t/g}"
... который работает не во всех случаях.
Может ли кто-нибудь дать мне подсказку о том, как действовать?
PS: я собираюсь использовать в основном sed (однострочник) или, если sed просто не обрезает, awk в порядке.