Как выбрать столбцы awk с помощью регулярных выражений?

Попробуйте это, используя правильно:)просто исправив команду (вы очень близки...):

rename 's/(.*)(week.*)/$2/' *.pdf

или, упрощая:

rename 's/.*(week.*)/$1/' *.pdf
0
30.01.2020, 21:15
1 ответ

Вы не можете точно выбрать столбец на основе регулярного выражения, но вы можете сделать это:

ps -ef | awk ' /[E]NV-NAME/{ match($0, /[a-z]+\.[a-z]+\.[a-z]+\.[a-z]+/); print( $2 " " substr($0, RSTART, RLENGTH)) }'

Я убрал greps, сделал его многострочным, чтобы было удобнее читать, и вы, вероятно, захотите зафиксировать все это в функции.

П.С. Я также заржавел в регулярных выражениях awk, так что вы могли бы улучшить это утверждение match.

П.П.С. Синтаксис [E]NV-NAME— это удобный способ предотвратить совпадение регулярного выражения с самим собой в выводе ps. Также полезно с grep, который, по иронии судьбы, на самом деле не нужен для этой конкретной задачи.

1
28.04.2021, 23:25

Теги

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