Кажется, я не могу заставить sed
заменить регулярное выражение на групповой захват в этом примере:
- Ввод: «DONE project 1»
- Желаемый ввод: «проект 1 СДЕЛАНО "
Что я пробовал с sed
:
$ echo "DONE project 1" | sed -E 's/^DONE(.*)$/$1 DONE/g'
$1 DONE # fail! no group capture in `sed`?
Есть ли способ сделать это в Perl
?
На самом деле это часть кода AppleScript, используемого DEVONthink [^ 1], и я понял, что sed
не может выполнять поиск / замену регулярного выражения с захватом группы.
[^ 1]: сценарий поиска / замены DEVONthink с использованием AppleScript
set transformedName to do shell script "echo " & quoted form of itemName & " | sed -E 's/" & sourcePattern & "/" & destPattern & "/g'"
set name of selectedItem to transformedName