Sto usando sed in unix per sostituire del testo con caratteri speciali in un file. Lo google e trovo il seguente comando
sed 's/from/to/g' file.txt
qui "da" è il testo originale da sostituire, "a" è il testo da sostituire
Sto cercando di applicare questo a un file con testo lungo con caratteri speciali, ovvero sostituendo "/D/dec/prog/g++.exe -Wall --std = c ++ 0x" (senza virgolette) a "SYSTEM_PATH / BIN" , Provo quanto segue, ma non funziona
sed 's//D/dec/prog/g++.exe -Wall --std=c++0x/SYSTEM_PATH/BIN/g' file.txt
ma viene fuori l'errore "sed: -e espressione n. 1, carattere 10: opzione sconosciuta a" s ".
Sono un principiante di Unix ma per qualche motivo ho bisogno di accedere in remoto a un server Unix per gestire alcuni file. voglio sapere
1) come posso definire da e stringa a una variabile, qualcosa come FROMSTR = '/D/dec/prog/g++.exe -Wall --std = c ++ 0x' TOSTR = 'SYSTEM_PATH / BIN'
così posso chiamare sed come s / $ FROMSTR / $ TO / g 'file.txt di sed
ma sembra che il sed non sappia come interpretarlo come variabile
2) dopo aver sostituito il testo con sed, non riscrive il risultato nel file originale. Come farlo funzionare?