Co o coś takiego:
cat texte.txt | sed -e 's/\s/,/g' > texte-new.txt
(Tak, z pewnymi bezużytecznymi kotlinami i rurociągami, może również użyć < do bezpośredniego odczytu z pliku, jak przypuszczam - użył najpierw kota, aby wypisać zawartość pliku, a dopiero potem dodałem sed do mojego wiersza poleceń)
EDIT: jak @ ghostdog74 zauważył w komentarzu, jest zdecydowanie nie ma potrzeby Thet cat/rury; można podać nazwę pliku do sed:
sed -e 's/\s/,/g' texte.txt > texte-new.txt
Jeśli "texte.txt" to w ten sposób:
$ cat texte.txt
this is a text
in which I want to replace
spaces by commas
Dostaniesz "Texte-new.txt", że będzie wyglądać tak:
$ cat texte-new.txt
this,is,a,text
in,which,I,want,to,replace
spaces,by,commas
nie pojadę tylko zastępując stary plik przez nowy (można zrobić z sed -i, jeśli dobrze pamiętam, a jak @ ghostdog74 powiedział ten przyjąłby tworzenie kopii zapasowej w locie): prowadzenie może być mądry, jako środek bezpieczeństwa (nawet jeśli oznacza to konieczności zmień go na coś w stylu "Texte-backup.txt")
Zakładam ostateczną 1 po zamknięciu nawias klamrowy jest zawsze prawdziwy wzór, który drukuje linię? Poszedłbym z bardziej czytelnym '{$ 1 = $ 1; print} '. – tzot
tak. jest to idiom awk dla prawdziwego stanu, który domyślnie drukuje na stdout. – ghostdog74