Метод для вставки определенного столбца, когда в терминале

PS Списки Bash Bash в качестве процесса работы, поскольку процесс Bash заблокирован, пытаясь открыть FIFO / TMP / in2 перед нерестом CAT команда. С Bash отвечает за обработку вашего перенаправления (> / TMP / in2 ), он должен сначала открыть / TMP / in2 , чтобы он мог позже использовать DUP2 Системный вызов для изменения команды команды CAT в дескриптор файла для / TMP / in2 . К сожалению, звонок на открыть блокируется в этом случае.

Если вы должны были запустить команду внутри STRACE:

strace -f bash -c "cat /tmp/out1 > /tmp/in2"

Вы бы увидели, что она остановится на:

[pid 18457] open("/tmp/in2", O_WRONLY|O_CREAT|O_TRUNC, 0666

он заблокирован, пока другой процесс не открывает файл для чтения. Согласно PIFO (7) PAGO (7) человек:

Ядро поддерживает ровно один объект трубы для каждого специального файла FIFO, который открывается по меньшей мере одним процессом. FIFO должен быть открыт на обоих концах (чтение и запись) до того, как данные могут быть переданы. Обычно, открывая блоки FIFO, пока не будет открыта другой конец.

Процесс может открыть FIFO в режиме неблокирования. В этом случае открытие только для чтения добится успеха, даже если никто не открыл на стороне записи, открытие только для записи будет выполнен только с Enxio (нет такого устройства или адреса), если только другой конец уже не открыт.

Если вы были открыты / TMP / in2 для чтения сначала (скажем, добавив CAT / TMP / in2 & перед командой Final Cat), вы увидите ваш финал Команда CAT отображается в вашем дереве процесса.

0
07.05.2014, 01:28
2 ответа
[113493] Что для меня сработало лучше всего, так как у меня всегда будут дубликаты и нумерация (-f полей) всегда будет меняться, а также тот факт, что мой список может быть сотнями полей длиной, [114077]cut[114078] не оказался действительным вариантом. [12213]Это и привело к тому, что я хотел:[12214]Где:[12215]заставляет весь текст, разделенный пробелами, на свою строку и записывает его в новый файл data_cr.txt...и[12216]берет строку за строкой и печатает только единственную копию любого дубликата.[113502].
1
28.01.2020, 02:28
[113489] 'cut' - команда, которую вы ищете. Вы указываете, какой разделитель использовать (по умолчанию - белый пробел) и какой столбец вам нужен. На man-странице будут перечислены все детали.[12212]Для корректной работы вам необходимо убедиться, что она вставлена с новыми строками.[113492].
2
28.01.2020, 02:28

Теги

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