Vorrei usare sedo perlsostituire tutte le occorrenze di una parola che non ha una determinata parola davanti. Ad esempio, ho un file di testo che contiene una trama di un film e voglio sostituire tutte le occorrenze del cognome di un personaggio con il loro nome, ma solo se il …
$echo "foo 65 bar" | sed -n -e 's/.*\([0-9]\+\).*/\1/p' 5 Perché l'output no 65? Sed non dovrebbe corrispondere avidamente alla [0-9]\+parte? Come faccio a dire a sed di abbinare tutti 65?
In vim possiamo usare l' \zsatomo per dire "inizia davvero la partita proprio qui": :%s/funnyword\zs.*$/otherword/ Esiste un equivalente per sed o addirittura perl?
Sembra ad esempio cat sed_data.txt | sed 's/\b[0-9]\{3\}\b/NUMBER/g' che io devo scappare personaggi per formare un'espressione regolare. In questo caso ho dovuto sfuggire alle parentesi graffe per essere interpretato più volte. Perché? Mi aspettavo che tutto sarebbe stato un personaggio regex se non fosse sfuggito. Cioè il contrario.
Ho un file di testo con i seguenti dati e ogni riga termina con |END|. T|somthing|something|END|T|something2|something2|END| Sto cercando di sostituire |END|con una \nnuova linea con sed. sed 's/\|END\|/\n/g' test.txt Ma sta producendo un output errato come di seguito: T | s o m e ... Ma quello che voglio è …
Come forse già saprai, molte delle funzionalità supportate dai moderni motori RegEx (riferimenti secondari, asserzioni lookaround, ecc.) Non sono supportate dal motore Bash RegEx. Di seguito è riportato un semplice script Bash che ho appena creato per cercare di spiegare qual è il mio obiettivo finale: #!/bin/bash # Make sure …
Questa è una domanda semplice Sto cercando di copiare tutti i file nella directory corrente che iniziano con "axis-2" e terminano con ".jar" in una directory di destinazione, diciamo che è ~ / MyDirectory. Il mio primo pensiero è stato quello di provare cp '^axis2.*jar$' ~/MyDirectory Ma questo non funziona. …
Ho problemi a ridurre la sintassi sed per aggiungere un numero variabile di zeri iniziali a uno schema organizzativo numerico. Le stringhe su cui sto operando appaiono come 1.1.1.1,Some Text Here sfruttando la sintassi sed sed -r ":r;s/\b[0-9]{1,$((1))}\b/0&/g;tr" Sono in grado di suscitare la risposta 01.01.01.01,Some Text Here Tuttavia, quello …
Di 'che è molto semplice se voglio trovare qualcosa che contiene lettere minuscole e numeri con produce_testo | grep -E '[0-9a-z]' Le parentesi sono utili per abbinare una serie di personaggi, ma per quanto riguarda quelli che sono in qualche modo speciali? Se voglio, usando le parentesi, abbinare qualsiasi carattere …
Volevo elencare il contenuto di un pwd e visualizzare solo il file che inizia con il punto. Ho provato ls -a | grep ^\.ma non riesco a capire perché l'output contenga anche i file che non iniziano con il punto. Per esempio: Pictures .pip .pki .profile projects Public So che …
io ho Ingresso: NISHA =\455 Produzione: NISHA = 455 Voglio rimuovere \dall'output. Ho provato a usare il comando sed "s/[\]//g" Pma non funziona e segnala un errore: character found after backslash is not meaningful
In vim voglio sostituire un lungo percorso /a/b/f/g/d/gcon un altro /s/g/w/d/g/rin un file di testo. Di solito uso \/ma ci sono troppe barre qui. C'è un modo più semplice?
Perché lo fa grep e\\.g\\. <<< "this is an e.g. wow" e grep e\.g\. <<< "this is an e.g. wow" fare la stessa cosa? Se aggiungo una terza barra, ha anche lo stesso risultato. MA, una volta aggiunta una quarta barra, non funziona più. Questo ha a che fare con …
Sto facendo grep e sed e ottengo 2 righe di un file che mi interessano. Come posso ottenere queste righe in una singola riga che termina con il carattere di nuova riga? Ora sto ottenendo: pattern1 pattern2 Vorrei ottenere pattern1 pattern2 \n
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.