Tak z ciekawości, jak dołączyłbyś tekst do pliku bez tworzenia nowego wiersza?
Martin Hansen
11
Zależy to od ostatnio dodanej linii, a nie od bieżącego polecenia. Kiedy robisz plik $ echo "foobar" >>, nowa linia już tam jest. Jeśli zrobisz $ echo -n "foobar" >> plik, nie dodasz nowej linii na koniec linii, więc napiszesz w tej samej linii.
user897079
9
To nie działa, gdy w środowisku sudo zapisujesz do pliku systemowego. Nie możesz sudo >>. W przeciwnym razie działa dobrze.
Dennis
4
Użyj polecenia "sed" w następujący sposób: ---------- sed -i "$ a jakiś tekst" somefile.txt --------- -i: edytuj pliki w miejscu, $ znajdź koniec pliku, a: append
Lunf
9
@Dennis Dzieje się tak ze względu na sposób przetwarzania wiersza poleceń. „sudo abc >> def” wyświetli „sudo abc”, a następnie „>> def”. Aby wykonać sudo cały bit 'abc >> def', musisz zrobić coś takiego: sudo sh -c "echo 'VNCSERVERS = \" 1: root \ "' >> / etc / sysconfig / configfile" (zwróć uwagę, że wewnętrzne cudzysłowy muszą zostać
vi
lubemacs
. Czy wiesz, jak ich używać? Nie próbuję być sarkastyczny.Odpowiedzi:
Najłatwiejszy sposób na przekierowanie wyjścia echa przez >>
źródło