Попробуйте это, используя правильно:)просто исправив команду (вы очень близки...):
rename 's/(.*)(week.*)/$2/' *.pdf
или, упрощая:
rename 's/.*(week.*)/$1/' *.pdf
Вы не можете точно выбрать столбец на основе регулярного выражения, но вы можете сделать это:
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
, который, по иронии судьбы, на самом деле не нужен для этой конкретной задачи.