В строке, содержащей несколько полей, создайте новую строку для каждого поля и удалите это поле из старой строки.

На самом деле мне очень нравится ответ Боба.

Я использую следующие сигналы::

  • -1(-HUP)-перезапустить процесс
  • -2(-INT)-завершить процесс
  • -9(-KILL)-позволить ядру завершить процесс
  • -11(-SEGV)-Произошел сбой программы
  • -15(-TERM)-по умолчанию, попросите программу завершить работу.

Будет отправлено убийство без сигнала-15(-TERM).

Все вышеуказанные имена сигналов могут быть указаны с префиксом SIG(, например. -SIGKILL), это, однако, не является обязательным.

Обратите внимание, kill -11заставит программу завершить работу с ошибкой сегментации, я использую ее иногда, когда kill -9не завершает процесс. (Вы можете потерять данные, если вы выполните kill -9или kill -11для процесса, так что будьте осторожны!)

Вы используете ps -ef | grep для проверки процесса. Чтобы избавиться от процесса (, который имеет родительский PID 1 ), вы должны kill -HUP 1илиkill -1 1(как root ). Обратите внимание, что PID 1 — это ваша система инициализации .

Итак, чтобы завершить процесс, введитеkill (то же самое, что и kill -15 ), если это не удастся, я попробую эти другие (, вы можете потерять данные! ),kill -2 (похоже на выполнение Ctrl+c), если это не удается kill -9 , если это не удается kill -11 , если это не удается, процесс, скорее всего, является зомби-процессом,убедитесь, что это так, используя ps -ef | grep или ps -ef | grep , после процесса должно быть указано «несуществующий». Это когда вы выдаете kill -1 1.

Некоторые программы, такие как Java JVM, могут быть настроены на создание дампа потоков/кучи (для устранения неполадок )при получении сигнала, в этих случаях я также использую kill...

1
09.07.2019, 22:47
3 ответа

Это довольно легко сделать с помощью различных инструментов. Основываясь на вашем вводе, вы просто хотите заменить все ,на \n. Таким образом, самым коротким (и, вероятно, самым быстрым )подходом будетtr:

$ tr ',' '\n' < file
elephant
kangaroo
 snake
 zebra
baboon
parrot
 eagle
 owl

Хотя при этом остаются лишние пробелы.

Вawk(GNUawk)вы можете сделать:

$ awk '{gsub(", ","\n");}1' file
elephant
kangaroo
snake
zebra
baboon
parrot
eagle
owl

В GNUsed:

$ sed 's/, /\n/g' file
elephant
kangaroo
snake
zebra
baboon
parrot
eagle
owl

В Perl:

$ perl -pe 's/, /\n/g' file
elephant
kangaroo
snake
zebra
baboon
parrot
eagle
owl
2
27.01.2020, 23:15

Выполнено с помощью Python:

#!/usr/bin/python
import re
k=open('p.txt','r')
for i in k:
    print re.sub(",","\n",i).strip().replace(" ","")

выход

elephant
kangaroo
snake
zebra
baboon
parrot
eagle
owl
1
27.01.2020, 23:15

Вы намерены найти awkрешение? Это довольно легко сделать в sedнапример:

$ cat foo
elephant
kangaroo, snake, zebra
baboon
parrot, eagle, owl
$ sed -e 's/, */\
/g' < foo
elephant
kangaroo
snake
zebra
baboon
parrot
eagle
owl
2
27.01.2020, 23:15

Теги

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