Czy istnieje sposób edycji pliku, jeśli nie ma vi, vim, joe, mcedit? Innymi słowy, czy istnieje sposób edycji pliku przy użyciu tylko poleceń powłoki?
linux
shell
text-editors
editing
text-editing
Eduard Florinescu
źródło
źródło
cat file
, a następniecat >file
ułóż części za pomocą cut + paste i / lub pisania, zakończ za pomocąctrl-d
.echo <<EOF > new.file [paste here] EOF
. Edytuj zawartość pliku na komputerze hosta.Odpowiedzi:
W takim przypadku spróbuję przenieść pliki i edytować je na innym komputerze, a następnie przenieść z powrotem. Jeśli masz ssh, powinieneś mieć scp (mam nadzieję), więc powinieneś być w stanie wypychać i wysyłać pliki. Jeśli nie, możesz także poszukać ftp do przesyłania i odbierania plików.
Jeśli nie, to myślę, że najlepszą opcją jest skorzystanie z przekierowania cat, grep, sed, echo i we / wy (szczególnie z dodatkiem
>>
). I wiele plików tymczasowych.Chociaż jeśli masz dostęp do perla (lub czegoś podobnego), możesz go uruchomić bez argumentów i pozwoli ci on na wprowadzenie źródła skryptu ze standardowego wejścia. Po naciśnięciu kombinacji klawiszy Ctrl + D można uruchomić skrypt. Możesz użyć tej metody do utworzenia pliku. Byłoby to potężniejsze niż hakowanie czegoś w linii poleceń, jak już wspomniałem.
źródło
Wyobrażam sobie, że możesz zrobić to, czego potrzebujesz
grep
iperl
- poszukać linii, którą chceszgrep
, edytować tę linię za pomocąperl
(perl
może działać jak duży zamiennik dlased
), a następnie potwierdzić, że nie wprowadziłeś więcej zmian, niż zamierzałeśdiff filename filename.new
. Jeśli tak, wprowadź zmiany na stałe -mv filename.new filename
źródło
Zakładając, że korzystasz z SSH do routera, możesz także użyć różnych narzędzi do przesłania pliku z powrotem i czwartego do komputera / routera. Możesz pobrać kopię na swój komputer, zmodyfikować ją, a następnie przesłać SSH z powrotem do routera przez SFTP (patrz Putty lub WinSCP, jeśli jesteś użytkownikiem systemu Windows).
Jeśli jednak używasz niestandardowego oprogramowania układowego w routerze / bramie, możesz mieć szczęście. Istnieją różne pakiety Optware zawierające proste (i małe) edytory tekstu. W zależności od potrzeb możesz uzyskać
nano
pakiet lub po prostu wybrać,busybox
który zawieravi
.źródło
Jednym ze sposobów byłoby wyprowadzenie wyniku echa.
Spowoduje to utworzenie pliku o nazwie bar.yxy z tekstem zawierającym „foo”.
źródło
Czy wyczyściłeś / bin czy coś? W przeciwnym razie możesz zhakować coś razem z narzędziami tekstowymi w GNU Coreutils, które powinny być standardem w systemie Linux.
źródło