Tag: текстовая обработка

Дублируйте, с небольшими изменениями, несколько строк в текстовом файле

Я пытаюсь решить, как реплицировать один ряд строк в текстовом файле. Диапазон начинается с строки, которая уникальна в файле, но диапазон заканчивается строкой, которая может существовать в нескольких местах в файле. Вот несколько примеров ввода, которые мне нужно обработать: У меня нет воображения поэтому этот образец текста будет общий быть скучным. Но это продемонстрировать проблему […]

Как сделать tr знанием символов non-ascii (unicode)?

Я пытаюсь удалить некоторые символы из файла (UTF-8). Я использую tr для этой цели: tr -cs '[[:alpha:][:space:]]' ' ' <testdata.dat Файл содержит некоторые иностранные символы (например, «Латвийская» или «àé»). tr , похоже, не понимает их: он рассматривает их как не-альфа и удаляет тоже. Я попытался изменить некоторые из моих настроек локали: LC_CTYPE=C LC_COLLATE=C tr -cs […]

Как мне grep без пробелов?

Я проглатываю через большую базу кода, и ведущие пробелы и табуляции кажутся довольно раздражающими. Есть ли способ избавиться от него? grep -R "something" ./ Например, вместо: foo/bar.cpp: qwertyuiosomethingoi foo/bar/baz.h: 43rfsgsomethingdrfg bar/bar.cpp: 1234edwssomethingczd Я хочу получить что-то вроде: foo/bar.cpp: qwertyuiosomethingoi foo/bar/baz.h: 43rfsgdsomethingrfg bar/bar.cpp: 1234edwssomethingczd Или лучше: foo/bar.cpp: qwertyuisomethingooi foo/bar/baz.h: 43rfsgdrsomethingfg bar/bar.cpp: 1234edwssomethingczd

Где исчезла моя строка `uniq` или` sort -u`, с некоторыми символами юникода

Что происходит в следующем фрагменте кода? Я не получаю ожидаемый результат. Я думаю, что это ошибка, но это происходит для двух разных программ (uniq и sort), поэтому я подозреваю, что это что-то связано с … ну, я не знаю, что .. поэтому вопрос. Первые 3 (из 4) примеров работают, но четвертый не удается !. Я […]

Получить значения раздела файла

У меня есть файл конфигурации в следующем формате. <Title> [part1] A.File = a A.Val = val1 B.File = a B.Val = val1 [part2] A.File = a1 A.Val = val2 B.File = a B.Val = val1 Я хочу извлечь значения только из первой части. #!/bin/sh getCalibDate() { file="/path/of/config/file" value=`cat ${file} | grep Val | cut -d'=' […]

Как я могу избежать экранированных символов разделителя в команде Unix?

Мне нужно взять сумму поля, которое ограничено тильдой (~). Проблема заключается в том, что у моих данных также имеется разделитель. пример 1~CEO~ashok\~kumar~1000 Как мы видим в 3-м поле выше, мы избегаем разделителя, которого я хочу избежать. Я выполняю команду ниже, которая не обрабатывает это. $ cat test.out|awk -F'~' 'BEGIN {sum=0} {sum+=$4} END{print sum}' Предположим, что […]

Как найти и переместить текстовую строку внутри файла?

Мне нужно изменить положение текстовой строки внутри файла; от одной позиции линии до другой, под определенным текстом. Например, у меня есть следующий текстовый блок (в файле /etc/pam.d/system-auth) account required pam_unix.so account sufficient pam_localuser.so account required pam_permit.so account required pam_tally2.so И я хочу «переместить» последнюю строку на вторую строку (под той, которая содержит pam_unix.so) Как это […]

Как читать IP-адрес назад?

Если у нас есть эта строка ( IP-адрес ): 192.168.1.1 Как я могу получить форму ( обратную запись DNS ) из этой строки, поэтому она будет показана как 1.1.168.192.in-addr.arpa с использованием сценария оболочки?

Преобразование CSV в TSV

У меня есть несколько больших CSV-файлов и они бы хотели их в TSV (формат, разделенный вкладками). Усложнение состоит в том, что в полях CSV-файла есть запятые, например: A,,C,"D,E,F","G",I,"K,L,M",Z Ожидаемый результат: ACD,E,FGIK,L,MZ (где пробелы между ними являются «жесткими» вкладками) У меня на этом сервере установлены Perl, Python и coreutils.

Извлечь текст между тремя одинарными кавычками

У меня есть следующее в файле description: ''' This rule forbids throwing string literals or interpolations. While JavaScript (and CoffeeScript by extension) allow any expression to be thrown, it is best to only throw <a href="https://developer.mozilla.org /en/JavaScript/Reference/Global_Objects/Error"> Error</a> objects, because they contain valuable debugging information like the stack trace. Because of JavaScript's dynamic nature, CoffeeLint […]

Linux и Unix - лучшая ОС в мире.