Предполагая, что ваши данные в файле с именем 'data':
sed -e s'/^"//' -e 's/|" "|/|/g' -e 's/" "|/|/g' -e 's/" "/|/g' -e s'/"$/|/' data
Обычно невозможно отправить команды AT
модему во время выполнения вызова. Это относится ко всем AT
- совместимым модемам, «обычным» модемам коммутируемого доступа и модемам мобильных телефонов, и не имеет никакого отношения к PPP.
По пути точки терминологии: сеансы PPP не монтируются . Mouting и umounting - это термины, применимые к файловым системам.
Существует два способа передачи команд модему во время выполнения вызова:
+ + +
побеги последовательности. Необходимо отправить три символа + + +
в окружении одной секунды простоя (без передачи) до и после. Модем вернется в командный режим. Вызов приостанавливается после выполнения побега последовательности (что означает, что сеанс PPP, вероятно, будет прерван по тайм-ауту и прерван, если вы работаете не быстро). Для возврата к вызову используйте ATO
. Обратите внимание, что escape-последовательность + +
часто отключается (недоступно), а иногда даже если она включена, она отбрасывает вызов без остановки. + + +
побег последовательности - очень старый стандарт, который сегодня не используется. $ fc-match --verbose Sans
# shortened output from my system:
Pattern has 36 elts (size 48)
family: "DejaVu Sans"(s)
hintstyle: 3(i)(s)
hinting: True(s)
verticallayout: False(s)
autohint: False(s)
scalable: True(w)
dpi: 75(f)(s)
rgba: 1(i)(w)
scale: 1(f)(s)
fontformat: "TrueType"(w)
lcdfilter: 1(i)(w)
Посмотрите на http://www.freedesktop.org/software/fontconfig/fontconfig-user.html (1), чтобы выяснить, что означают цифры. (поиск по < const >)
Возьмем, например, rgba: 1 (i) (w)
.
Из (1)
rgb rgba 1
мы видим, что используется субпиксельный формат rgb. Я предполагаю, что материал в скобках - это какая-то типовая информация.
Я думаю, что формат fontconfig является достаточно выразительным, чтобы использовать различную конфигурацию для различных шрифтов, поэтому имеет смысл, что нужно дать шрифт.
Теперь.. другой вопрос, действительно ли все приложения соблюдают эти настройки. Гном, например, делает свое дело... (?)
Также может оказаться полезным запустить приложение с FC_DEBUG набором переменных среды ( http://www.freedesktop.org/software/fontconfig/fontconfig-user.html#DEBUG )
FC_DEBUG=1 chromium
-121--86362- Попробуйте:
sed -e 's/["| ]\+/|/g' -e 's/^|//' < file
Первое выражение заменит каждый блок, содержащий один или несколько |, "или мест, одним |. Второй удалит | в начале каждой строки.
Вы можете tr
заменить все пробелы и двойные кавычки на |
(и s
queeze) затем вырезать
со 2-го символа до конца строки:
tr -s '[[:blank:]"]' \| <infile | cut -c2-
с использованием awk
awk ' BEGIN { FS="[|\" ]+" ; OFS="|" } { print $2,$3,$4,$5,$6,$7,$8"|" } ' file
Объяснение:
BEGIN {FS = "[| \"] + "; OFS =" | "}
сначала установите следующее:
FS =" [ | \ "] +"
: поля разделяются любой комбинацией ( +
) (ноль или более любого) установленной ([]
) вертикальной черты, двойные кавычки (необходимо экранировать) и пробел | \ "
.
OFS =" | "
разделите поля вывода вертикальными линиями.
напечатайте $ 2, $ 3, $ 4, $ 5, $ 6, $ 7, $ 8" | "
вывести столбцы с 1 по 8 и вертикальную черту в конце (обратите внимание, что он сдвигается на единицу, поскольку строки начинаются с двойных кавычек, что делает первое поле пустой строкой и, таким образом, смещает позиции всех остальных).
sed -i 's/\"//g' filename
Вы можете избежать символа "
, поместив \
. Если вы хотите удалить все пробелы, сделайте следующее:
sed -i 's/[" ]//g' filename