Hoi Hoi
Ik wil een regex schrijven voor een sed expressie om een bepaald woord (laten we zeggen $TOKEN1) te vervangen door $TOKEN2 in een set latex files.
Nou dat is simpel:
Echter gaat het hier om een expansie van $TOKEN1, naar $TOKEN2.
Ik wil namelijk $TOKEN1 omzetten in
En als dat eenmaal is gebeurd moet dat niet nogmaals gebeuren (anders krijg je \textit{\textit{\textit{$TOKEN1}}} na 3x draaien).
Nu kan ik op zich een regex schrijven die een meervoudige \textit herschrijft naar een enkele, maar dat is ranzig.
Wat ik dus wil is zoiets als dit:
s/!(\textit{)$TOKEN1(})/\textit{$TOKEN1}/g
Dit krijg ik niet voor elkaar. Weet iemand hoe het werkt? Die !(XXX) zou een string moeten negaten. Uiteraard al zonder de braces geprobeerd.
In de release versie komt er ook nog een [ ]* rond $TOKEN1 te staan om spaties te elimineren.
Ik heb zowel met ^ als met ! en ( ) om $TOKEN1 geprobeerd de woorden te laten ontdekken, maar dat lukt niet.
Kan iemand me vertellen waar ik qua denkwijze in de fout ga?
Ik wil een regex schrijven voor een sed expressie om een bepaald woord (laten we zeggen $TOKEN1) te vervangen door $TOKEN2 in een set latex files.
Nou dat is simpel:
code:
1
| sed -i "s/$TOKEN1/$TOKEN2/g" *.tex |
Echter gaat het hier om een expansie van $TOKEN1, naar $TOKEN2.
Ik wil namelijk $TOKEN1 omzetten in
code:
.1
| \textit{$TOKEN1} |
En als dat eenmaal is gebeurd moet dat niet nogmaals gebeuren (anders krijg je \textit{\textit{\textit{$TOKEN1}}} na 3x draaien).
Nu kan ik op zich een regex schrijven die een meervoudige \textit herschrijft naar een enkele, maar dat is ranzig.
Wat ik dus wil is zoiets als dit:
s/!(\textit{)$TOKEN1(})/\textit{$TOKEN1}/g
Dit krijg ik niet voor elkaar. Weet iemand hoe het werkt? Die !(XXX) zou een string moeten negaten. Uiteraard al zonder de braces geprobeerd.
In de release versie komt er ook nog een [ ]* rond $TOKEN1 te staan om spaties te elimineren.
Ik heb zowel met ^ als met ! en ( ) om $TOKEN1 geprobeerd de woorden te laten ontdekken, maar dat lukt niet.
Kan iemand me vertellen waar ik qua denkwijze in de fout ga?