Запитання з тегом «regular-expression»

Регулярні вирази - це засіб зіставлення шаблону символів у рядку.

7
Як об’єднати текст алфавітних рядків з числовими рядками в оболонці?
У мене є файл із таким текстом: AAAA BBBB CCCC DDDD 1234 5678 9012 3456 EEEE 7890 тощо ... І я хочу співставити алфавітні лінії з числовими лініями, щоб вони були такими: AAAA 1234 BBBB 5678 CCCC 9012 DDDD 3456 EEEE 7890 Хтось знає простий спосіб досягти цього?


1
Чому деякі команди регулярних виразів мають протилежні інтерпретації '\' з різними символами?
Візьмемо, наприклад, цю команду: find . -regex ".*\.\(cpp\|h\)" Тут ви знайдете всі файли .h та .cpp у вашому каталозі. Символ періоду "." у регулярних виразах зазвичай означає «будь-який символ». Щоб він відповідав лише фактичному періоду, потрібно уникати його за допомогою символу зворотної косої риски '\'. У цьому випадку, задавши персонажа …

5
Видаліть провідну рядок у bash
У мене є такий рядок, rev00000010і я хочу лише останнє число, 10 в цьому випадку. Я спробував це: TEST='rev00000010' echo "$TEST" | sed '/^[[:alpha:]][0]*/d' echo "$TEST" | sed '/^rev[0]*/d' обидва не повертають нічого, хоча, здається, регулярний вираз є правильним (спробували з regexr )

3
Використання сумісного perge-регексу з GNU grep -P
Я використовую цей регулярний вираз (?<=\[')[^,]*у файлі, що містить наступний рядокdisk = ['OVS/sdasd/asdasd/asdasd/something.img, w'] Я хочу, щоб це повернулося OVS/sdasd/asdasd/asdasd/something.img Як я можу використовувати grepйого для роботи? Я спробував, grep -P "(?<=\[')[^,]*"але це повертає всю лінію.

1
уникнення єдиної точки з подвійним нахилом - awk
"Ефективне програмування awk" - це приклад програми Field-Splitting. ось приклад: Якщо ви хочете, щоб поля були розділені буквальним періодом з будь-яким окремим символом, використовуйте ‘FS = "\\.."’. Чому це подвійний нахил? чи не повинно бути \..?


2
Чому '[az] *' відповідає неабетним рядкам?
У мене є файл alphanumіз цими двома рядками: 123 abc this is a line Мене бентежить, чому під час запуску sed 's/[a-z]*/SUB/' alphanumя отримую такий результат: SUB123 abc SUB is a line Я очікував: 123 SUB SUB is a line Я знайшов виправлення (використовуйте sed 's/[a-z][a-z]*/SUB/'замість цього), але не розумію, …

3
Як або навіщо використовувати ". *?` Краще, ніж ". *"?
Я відповів на це запитання на SuperUser, що було щось пов’язане з видом регулярних виразів, що використовуються під час отримання виводу. Я відповів: tail -f log | grep "some_string.*some_string" А потім, У трьох коментарях до моєї відповіді @Bob написав це: .*жадібний і може захопити більше, ніж ви хочете. .*?зазвичай краще. …



4
Узгодження рядка з фіксованою кількістю символів за допомогою grep
Я намагаюся знайти всі 6буквені слова за допомогою grep. У мене зараз це: grep "^.\{6\}$" myfile.txt Однак я знаходжу, що я також отримую такі результати, як: étuis, étude. Я підозрюю, що це має щось спільне із символами вище eу наведених словах. Чи можу я щось зробити, щоб цього не сталося? …

7
Замініть символ, окрім останніх x подій
У мене є файл, який має купу імен хостів, співвіднесених з IP-адресами, який виглядає приблизно так: x-cluster-front-1 192.168.1.2 x-cluster-front-2 192.158.1.10 y-cluster-back-1 10.1.11.99 y-cluster-back-2 10.1.157.38 int.test.example.com 59.2.86.3 super.awesome.machine 123.234.15.6 Я хочу, щоб це виглядало так: x-cluster-front-1 192.168.1.2 x-cluster-front-2 192.158.1.10 y-cluster-back-1 10.1.11.99 y-cluster-back-2 10.1.157.38 int-test-example-com 59.2.86.3 super-awesome-machine 123.234.15.6 Як я можу замінити. …

1
греп для слів не більше певної довжини
Я шукаю спосіб зібрати такі речі: i log for E M, i 1 f x i 0, I xi 1, 3 1,.просто на основі кількості символів. Ніщо в цьому гіпотетичному виході не перевищує трьох символів. Цей гіпотетичний один лайнер буде виглядати приблизно так, grep -v [:alnum:] > {3}. (За винятком …

1
rsync виключити на основі розміру файлу?
Чи можливо виключити файли rsyncрозміром більше певного розміру (наприклад, понад 250 МБ)? А що робити, якщо я також хочу виключити приховані файли? Як я можу виключити всі приховані файли чи каталоги (ті, що відповідають ". *"), А також файли (а не каталоги), що перевищують 250 МБ (приховані чи ні)?

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.