Jak dodać ciąg po każdym wierszu pliku za pomocą bash? Czy można to zrobić za pomocą polecenia sed, jeśli tak, w jaki sposób?W Bash, w jaki sposób dodać ciąg po każdym wierszu w pliku?
Odpowiedz
Jeśli Twój sed
pozwala na edycję miejsce poprzez parametr -i
:
sed -e 's/$/string after each line/' -i filename
Jeśli nie, trzeba zrobić tymczasowy plik:
typeset TMP_FILE=$(mktemp)
touch "${TMP_FILE}"
cp -p filename "${TMP_FILE}"
sed -e 's/$/string after each line/' "${TMP_FILE}" > filename
Sed jest trochę brzydki, można zrobić to elegancko lubi:
[email protected] tmp$ cat foo
bar
candy
car
[email protected] tmp$ for i in `cat foo`; do echo ${i}bar; done
barbar
candybar
carbar
zawodzi w przypadku plików zawierających więcej linie niż maksymalny limit argumentów powłoki. Spróbuj: cat foo | podczas czytania a; do echo $ {a} bar; zrobione lub coś podobnego zamiast tego; w większości przypadków jest to odpowiedni zamiennik. – alex
Nie powiedzie się również dla linii z spacji w nich. –
Er, nie, nie zawodzi Dennis. maksymalny limit argumentów powłoki? Crikey jesteś pendantyczny. – hendry
Jeśli go masz, lam (laminat) narzędzie może to zrobić, na przykład:
$ lam filename -s "string after each line"
Wolę używając awk
. Jeśli jest tylko jedna kolumna, użyj $0
, w przeciwnym razie zastąp ją ostatnią kolumną.
Jednym ze sposobów,
awk '{print $0, "string to append after each line"}' file > new_file
czy to
awk '$0=$0"string to append after each line"' file > new_file
Ponadto, aby dołączyć numery linii (jak było w moim przypadku), można użyć zmiennej 'NR':' awk '{print $ 0, NR}' ' – andrybak
- 1. bash zastąpienie pierwszego znaku w każdym wierszu
- 2. Pętla w każdym wierszu zakresu w Excelu
- 3. Dodaj tekst po każdym wierszu, wiele wpisów
- 4. Jak wydrukować liczbę znaków w każdym wierszu pliku tekstowego
- 5. W Emacs LISP w jaki sposób mogę dodać ciąg do pliku, którego nie lubię otwierać?
- 6. W Pythonie, w jaki sposób utworzyć ciąg n znaków w jednym wierszu kodu?
- 7. Uzyskaj różne kolumny w każdym wierszu
- 8. Liczba niezerowych kolumn w każdym wierszu
- 9. tylko coraz poszczególnych kolumn w każdym wierszu w numpy tablicy
- 10. W jaki sposób można wydrukować zmienną w wierszu polecenia MongoDB?
- 11. Znajdź ciąg ze szczególnym charakterze w pliku tekstowym i dodać podział wiersza przed każdym wystąpieniu
- 12. liczyć konkretne słowo w wierszu bash
- 13. Zachowanie wiodącej białej przestrzeni podczas czytania >> zapisywanie pliku wiersz po wierszu w bash
- 14. Czytaj linia po linii w skrypcie bash
- 15. W jaki sposób Python robi ciąg magii?
- 16. Python/Pandy: zliczanie brakujących/NaN w każdym wierszu
- 17. Własny widok listy z dwoma przyciskami w każdym wierszu
- 18. W jaki sposób łączysz ciągi w pliku Puppp .pp?
- 19. Jak wyświetlić pierwsze słowo w każdym wierszu w moim pliku za pomocą poleceń Linuksa?
- 20. mysql show Liczba wierszy z innej tabeli w każdym wierszu
- 21. W mojej aplikacji Cordova, w jaki sposób uzyskać ciąg wersji zdefiniowany w pliku config.xml?
- 22. W jQuery, w jaki sposób mogę dodać coś jako rodzeństwo?
- 23. Znajdź pierwszy niezerową wartość w każdym wierszu Pand DataFrame
- 24. Skopiuj bieżące polecenie w wierszu polecenia bash do schowka
- 25. W jaki sposób tworzone są pliki .Po w Makefile?
- 26. UITableView cellForRowAtIndexPath nazywa więcej niż jeden raz w każdym wierszu
- 27. W Go, w jaki sposób uzyskać ciąg znaków reprezentujący strukturę?
- 28. Korzystanie z jQuery, aby dodać klasę do pierwszego td w każdym wierszu tabeli
- 29. Potrzeba powielić tekst w każdym wierszu i dodać znak równości i przedrostek do niego
- 30. Jak użyć ponownie przed każdym/po każdym w Jasmine JS?
Dzięki, to działa! –
Dlaczego "dotykasz" pliku tymczasowego? I sprawiłbym, że polecenie "sed" jest uwarunkowane sukcesem 'cp' lub oryginał może zostać utracony. –
Dotknąłem pliku, aby szybko zarezerwować tymczasową nazwę. To może nie być potrzebne. Myślę, że masz rację, uzależniając polecenie sed od sukcesu cp. Dlaczego nie edytować kodu, aby to naprawić. Nie będę miał nic przeciwko! Pozdrawiam, Tom –