изменение порядка пунктов в списке

Мое предположение - это

  • любой они думали о чем-то, которое это только применимо к определенной ситуации, что они не потрудились упоминать, как сбрасывание буферов;
  • или они имели в виду что-то, что Вы сделаете после разветвления;
  • или они имели в виду что-то, что Вы сделаете прежде execve (который является другой половиной порождения другой программы), ожидая ответ fork, но они действительно не поняли все это и перепутали два.
4
12.01.2012, 00:35
2 ответа

Этот будет работать со строками с пробелами в нем:

sed 's/\(@"[^"]*"\), \(@"[^"]*"\)/\2, \1/' input.txt

Как это работает:

sed - (s) tream (редактор) itor выполнит (s) ubstosute команду на каждой строке входа,
и замены \(@"[^"]*"\), \(@"[^"]*"\) с \2, \1.

\2 средства второе соответствие (от вторых фигурных скобок)
\1 средства сначала соответствуют (от первых фигурных скобок).

Фигурных скобок нужно оставить, таким образом, мы имеем \( и \). Внутри мы ищем @ символ, затем " символ и затем [^"] любые символы, отличающиеся, чем " повторенный в любое время и затем " символ.

Затем мы ожидаем , запятая сопровождается пространством и подобной второй группой для \2.

3
27.01.2020, 20:56
  • 1
    Yessssssssssssssssssssssss!!!!!!!!!!! Вы являетесь удивительными!!!!Спасибо. –  SpaceDog 12.01.2012, 00:45

Соответствуйте первому полю, разделителю и второму полю, и распечатайте их в обратном порядке. Принятие там не может быть запятыми в двойных кавычках:

sed -e 's/\(.*,\)\( \)\(.*,\)/\3\2\1/'

Awk более неуклюж здесь из-за запятой в конце строки. Тем не менее, можно сделать подкачку путем обработки запятой плюс пространство или / +/ как разделитель полей.

awk -F ', ' '{print $2 " " $1 ","}'

Если могут быть запятые в кавычках, необходимо будет соответствовать полям способом, который берет правила выхода кавычки (если таковые имеются) во внимание.

1
27.01.2020, 20:56
  • 1
    Ваша awk реализация производит двойной разделитель запятой. Должен быть awk -F ', ' '{print $2 " " $1 ","}' –  Michał Šrajer 12.01.2012, 00:46

Теги

Похожие вопросы