{ cat file; echo 'END OF FILE'; } > newFile , działa to również dzięki sh. *. (nie sed, ale działa i prosty)
4
prosty echo "Cool Text" >> filepowinien również załatwić sprawę.
Danpe
Odpowiedzi:
93
sed -e "\$aTEXTTOEND" jest najprostszym sposobem.
Jak to działa
$dopasowuje ostatni wiersz (jest to zwykły sedadres; 4aTEXTTOENDwstawiałby po czwartym wierszu), ajest poleceniem append i TEXTTOENDjest tym, co należy dołączyć.
To prawda, ale można się domyślać, że przypadek użycia OP to brak pliku w nawiasach „ <php ” i „ >” oraz cytowanie wybranych treści za jednym razem, więc prawdopodobnie naprawdę chce sedfragmentu.
dmckee,
2
Również jeśli to zrobisz i nie chcesz nowego wiersza, użyj echa -n
Vinko Vrsalovic
2
Nie lubię zgadywać. Za każdym razem, gdy próbuję, się mylę.
4
Innym powodem, dla którego przyjęta odpowiedź jest bardziej przydatna, jest jej wcześniejsze dodanie sudo, co powoduje, że ta odmiana kończy się niepowodzeniem, ponieważ echojest to wbudowane polecenie powłoki, a nie plik wykonywalny znaleziony w$PATH
Tony Cesaro
@TonyCesaro: echojest wbudowany, ale jest także plikiem wykonywalnym znalezionym w$PATH
Zan Lynx
24
Zakładając, że chcesz umieścić końcowy znacznik php w plikach
W prosty sposób można pisać i wprowadzać zmiany w treści w określonym wierszu pliku. Jeśli chcesz wstawić cokolwiek pod określonym numerem linii, możesz użyć poniższego polecenia:
sed -i '2i i have started' sheikh.log
gdzie 2i- linia numer 2 i i oznacza wstawianie. Jeśli musisz wstawić w ostatnim wierszu, użyj $zamiast 2. zacząłem - tekst do wstawienia i sheikh.lognazwa pliku.
Możemy również wprowadzić zmiany w wierszu za pomocą poniższego polecenia
{ cat file; echo 'END OF FILE'; } > newFile
, działa to również dzięki sh. *. (nie sed, ale działa i prosty)echo "Cool Text" >> file
powinien również załatwić sprawę.Odpowiedzi:
sed -e "\$aTEXTTOEND"
jest najprostszym sposobem.Jak to działa
$
dopasowuje ostatni wiersz (jest to zwykłysed
adres;4aTEXTTOEND
wstawiałby po czwartym wierszu),a
jest poleceniem append iTEXTTOEND
jest tym, co należy dołączyć.źródło
sed -e '$a\NEWLINE\\'
. Zastąp NEWLINE rzeczywistą nową linią.sed
W takim przypadku nie trzeba używać . Co powiesz naźródło
<php
” i „>
” oraz cytowanie wybranych treści za jednym razem, więc prawdopodobnie naprawdę chcesed
fragmentu.sudo
, co powoduje, że ta odmiana kończy się niepowodzeniem, ponieważecho
jest to wbudowane polecenie powłoki, a nie plik wykonywalny znaleziony w$PATH
echo
jest wbudowany, ale jest także plikiem wykonywalnym znalezionym w$PATH
Zakładając, że chcesz umieścić końcowy znacznik php w plikach
powinien załatwić sprawę
źródło
Zobacz swój oryginalny post dla polecenia all in one sed.
źródło
Użyj polecenia sed 'append (a)'. Na przykład, aby dodać dwa wiersze na końcu pliku:
źródło
W prosty sposób można pisać i wprowadzać zmiany w treści w określonym wierszu pliku. Jeśli chcesz wstawić cokolwiek pod określonym numerem linii, możesz użyć poniższego polecenia:
gdzie
2i
- linia numer 2 i i oznacza wstawianie. Jeśli musisz wstawić w ostatnim wierszu, użyj$
zamiast 2. zacząłem - tekst do wstawienia isheikh.log
nazwa pliku.Możemy również wprowadzić zmiany w wierszu za pomocą poniższego polecenia
i
zmieniono nawe
.źródło