Jestem nowy w Linuksie. Muszę edytować .conf
plik tylko z otwartego terminalu i nie używając żadnych edytorów tekstu. Czy mogę dodawać słowa i zdania do pliku konfiguracyjnego z otwartego terminalu?
Przykład: command /home/.../file.conf -add 'abcd'
do 23. linii i tak dalej. I wreszcie zapisz to.
Czy można wyszukać określone słowo w tym pliku konfiguracyjnym i dodać nowy tekst do następnego wiersza tego pliku konfiguracyjnego, używając tylko polecenia?
command-line
text
editing
użytkownik259060
źródło
źródło
sed
może przyjść pomóc.Odpowiedzi:
Zwykle robię to w ten sposób, gdy programuję skrypt, aby robił to samo, o co prosisz, ale programowo.
Voila! Masz to. Ważna uwaga
>>
oznacza dodanie nowej linii do istniejącego pliku, tymczasem>
po prostu nadpisuj wszystko.źródło
Dodanie słów i zdań do pliku konfiguracyjnego z otwartego terminalu można łatwo osiągnąć za pomocą sed.
wstawia tekst w wierszu 23
abcd
do plikufile.conf
-i
dokonuje modyfikacji bezpośrednio do plikufile.conf
.Jeśli chcesz użyć,
awk
to:Poniższy dodaje jeden wiersz po SearchPattern.
Wstawia nowy tekst o jeden wiersz poniżej każdego wiersza zawierającego SearchPattern.
Aby dodać dwie linie, możesz użyć a
\
i wprowadzić nową linię podczas wpisywania nowego tekstu.źródło
Możesz także użyć
printf
polecenia.Aby dodać linie do pliku
Aby zastąpić plik
źródło
Uwagi:
Jak to działa:
inputfile
aby odczytać linie wejściowe, wyczyśćoutputfile
i otwórz, aby zapisać linie wyjścioweźródło
Znalazłem rozwiązanie mojego pytania za pomocą
ed
poleceniaTekst może zawierać 27 wierszy. Możesz skopiować 27 linii z pliku tekstowego i wkleić 27 linii do pliku konfiguracyjnego. Ale muszę uruchomić
ed
polecenie jednocześnie, aby dodać więcej tekstu do tego samego pliku konfiguracyjnego.źródło