Zastępowanie ciągów w plikach na podstawie określonych kryteriów wyszukiwania jest bardzo częstym zadaniem. Jak mogę zastąpić ciąg fooze barwszystkich plików w bieżącym katalogu? zrobić to samo rekurencyjnie dla podkatalogów? zamieniać tylko, jeśli nazwa pliku pasuje do innego ciągu? zamieniać tylko, jeśli ciąg znajduje się w określonym kontekście? zastąpić, jeśli ciąg …
Słyszałem, że printfto lepsze niż echo. Mogę przypomnieć sobie tylko jedną instancję z mojego doświadczenia, z której musiałem skorzystać, printfponieważ echonie działałem do dostarczenia tekstu do jakiegoś programu na RHEL 5.8, ale to printfzrobiłem. Ale najwyraźniej istnieją inne różnice i chciałbym dowiedzieć się, jakie one są, a także czy istnieją …
Piszę skrypt bash, aby wyszukać plik, jeśli nie istnieje, utwórz go i dołącz do niego: Host localhost ForwardAgent yes "line then new line 'tab' then text"Myślę więc , że to delikatny format. Wiem, że możesz to zrobić: cat temp.txt >> data.txt Ale wydaje się dziwne, ponieważ ma dwie linie. Czy …
Powiedz, że mam plik: # file: 'test.txt' foobar bash 1 bash foobar happy foobar Chcę tylko wiedzieć, jakie słowa pojawiają się po „foobar”, więc mogę użyć tego wyrażenia regularnego: "foobar \(\w\+\)" Nawiasy wskazują, że szczególnie interesuję się tym słowem zaraz po foobar. Ale kiedy robię a grep "foobar \(\w\+\)" test.txt, …
Czy używanie pętli while do przetwarzania tekstu jest ogólnie uważane za złą praktykę w powłokach POSIX? Jak zauważył Stéphane Chazelas , niektóre z powodów nieużywania pętli powłoki są koncepcyjne , niezawodność , czytelność , wydajność i bezpieczeństwo . Ta odpowiedź wyjaśnia aspekty niezawodności i czytelności : while IFS= read -r …
Jak sortujesz du -sh /dir/*według rozmiaru? Czytam jedną stronę, która mówi o użyciu, | sort -nale to oczywiście nie w porządku. Oto przykład, który jest zły. [~]# du -sh /var/* | sort -n 0 /var/mail 1.2M /var/www 1.8M /var/tmp 1.9G /var/named 2.9M /var/run 4.1G /var/log 8.0K /var/account 8.0K /var/crash 8.0K …
Używając systemów kontroli wersji denerwuje mnie hałas, gdy mówi diff No newline at end of file. Zastanawiałem się więc: jak dodać nowy wiersz na końcu pliku, aby pozbyć się tych wiadomości?
Chciałbym usunąć wszystkie początkowe i końcowe spacje i tabulatory z każdego wiersza wyniku. Czy istnieje proste narzędzie, do trimktórego mógłbym przesłać dane wyjściowe? Przykładowy plik: test space at back test space at front TAB at end TAB at front sequence of some space in the middle some empty lines with …
Wiem, że mogę użyć czegoś takiego jak cat test.txt | pr -w 80zawijanie wierszy do szerokości 80 znaków, ale to stawia dużo miejsca na górze i na dole drukowanych linii i nie działa poprawnie w niektórych systemach Jak najlepiej wymusić zawijanie pliku tekstowego z długimi liniami o określonej szerokości? Punkty …
Mam ogromny (70 GB), jeden wiersz , plik tekstowy i chcę w nim zastąpić ciąg (token). Chcę zastąpić token <unk>innym tokenem zastępczym ( problem z rękawiczkami ). Próbowałem sed: sed 's/<unk>/<raw_unk>/g' < corpus.txt > corpus.txt.new ale plik wyjściowy corpus.txt.newma zero bajtów! Próbowałem także użyć perla: perl -pe 's/<unk>/<raw_unk>/g' < corpus.txt …
Mój ogromny plik tekstowy (do 2 GiB) zawiera około 100 dokładnych duplikatów każdego wiersza w nim (w moim przypadku jest to bezużyteczne, ponieważ jest to tabela danych podobna do CSV). To, czego potrzebuję, to usunięcie wszystkich powtórzeń, podczas gdy (najlepiej, ale można to poświęcić w celu znacznego zwiększenia wydajności) przy …
Chcę przeanalizować zmienną (w moim przypadku jest to wersja zestawu deweloperskiego), aby uwolnić ją od kropki ( .). Jeśli version='2.3.3'pożądane wyjście to 233. Próbowałem jak poniżej, ale wymaga .to zastąpienia inną postacią 2_3_3. Byłoby dobrze, gdyby tr . ''działało. 1 VERSION='2.3.3' 2 echo "2.3.3" | tr . _
Więc pociągnięcie do otwarcia pliku za pomocą, cata następnie użycie grepdo uzyskania pasujących linii prowadzi mnie tylko do tej pory, gdy pracuję z określonym zestawem dzienników, z którym mam do czynienia. Potrzebuje sposobu, aby dopasować linie do wzoru, ale tylko zwrócić część linii po dopasowaniu. Część przed i po meczu …
Chcę zdekodować kodowanie adresu URL. Czy jest do tego jakieś wbudowane narzędzie, czy ktoś może dostarczyć mi sedkod, który to zrobi? Szukałem trochę w unix.stackexchange.com i w Internecie, ale nie mogłem znaleźć żadnego narzędzia wiersza poleceń do dekodowania kodowania URL. Chcę po prostu edytować txtplik, aby: %21 staje się ! …
Czy istnieje standardowe narzędzie, które konwertuje liczbę całkowitą bajtów na czytelną dla człowieka liczbę największej możliwej wielkości jednostki, przy zachowaniu wartości liczbowej między 1,00 a 1023,99? Mam swój własny skrypt bash / awk, ale szukam standardowego narzędzia, które można znaleźć w wielu / większości dystrybucji ... coś bardziej ogólnie dostępnego …
Mam wiele plików, które zawierają informacje tekstowe ascii w pierwszych 5-10 wierszach, a następnie dobrze tabelaryczne informacje o macierzy. W skrypcie powłoki chcę usunąć kilka pierwszych wierszy tekstu, aby móc użyć informacji o czystej macierzy w innym programie. Jak mogę w tym celu użyć poleceń powłoki bash? Jeśli to pomoże, …
Zastanawiałem się, jak policzyć liczbę określonego znaku w każdej linii przez niektóre narzędzia do przetwarzania tekstu? Na przykład, aby policzyć "w każdym wierszu następującego tekstu "hello!" Thank you! Pierwszy wiersz ma dwa, a drugi wiersz ma 0. Innym przykładem jest liczenie (w każdej linii.
Mam tempplik z zawartością małych i dużych liter. Wejście Zawartość mojego temppliku: hi Jigar GANDHI jiga Chcę przekonwertować wszystkie górne na dolne . Komenda Próbowałem następującego polecenia: sed -e "s/[A-Z]/[a-z]/g" temp ale otrzymałem zły wynik. Wynik Chcę to jako: hi jigar gandhi jiga Co powinno znaleźć się w zastępczej części …
Wydaje się, że normalna praktyka wystawiałaby ustawienie IFS poza pętlę while, aby nie powtarzać ustawiania go dla każdej iteracji ... Czy jest to zwykły styl „małpa patrz, małpa robi”, jak to miało miejsce w przypadku tej małpy do Czytam mężczyznę czytającego , czy brakuje mi tutaj jakiejś subtelnej (lub rażąco …
Czy ktoś zna jakieś narzędzie linuksowe zaprojektowane specjalnie do traktowania plików jako zestawów i wykonywania na nich operacji na zestawach? Jak różnica, skrzyżowanie itp.?
Czy jestem ślepy czy nie ma takiej opcji jak --in-placedla sort? Aby zapisać wyniki w pliku wejściowym, sed używa -i( --in-place). Przekierowanie wyjścia sortdo pliku wejściowego sort < f > f powoduje, że jest pusty. Jeśli nie ma --in-placeopcji - może jest jakaś sztuczka, jak to zrobić w poręczny sposób? …
Rozglądałem się za sedpoleceniem, aby dodać tekst do pliku w określonym wierszu. Działa to dodając tekst po wierszu 1: sed '1 a\ Ale chcę go dodać przed wierszem 1. Byłoby to: sed '0 a\ ale pojawia się ten błąd: invalid usage of line address 0. Jakieś sugestie?
grep --before-context 5 pokazuje 5 linii przed meczem. Chcę pokazać wszystko przed meczem. Robienie grep --before-context 99999999by działało, ale nie jest bardzo ... profesjonalne. Jak wyświetlić cały plik do dopasowania?
Jak mogę zastąpić spacje nowymi wierszami na danych wejściowych, takimi jak: /path/to/file /path/to/file2 /path/to/file3 /path/to/file4 /path/to/file5 itp... Aby uzyskać następujące informacje: /path/to/file /path/to/file2 /path/to/file3 /path/to/file4 /path/to/file5 Uwaga Zadaję to pytanie, aby pomóc innym użytkownikom. Znalezienie użytecznej odpowiedzi w UNIX SE nie było łatwe, dopóki nie zacząłem pisać tego pytania. Potem …
Podczas obsługi plików dziennika niektóre kończą się jako pliki spakowane gzip, logrotatea inne nie. Więc kiedy spróbujesz czegoś takiego: $ zcat * kończy się wiersz poleceń, zcat xyz.log xyz.log.1 xyz.log.2.gz xyz.log.3.gza następnie: gzip: xyz.log: not in gzip format Czy istnieje narzędzie, które pobierze bajty magiczne, podobne do tego file, jak …
używam tego cat foo.txt | sed '/bar/d' aby usunąć wiersze zawierające ciąg znaków barw pliku. Chciałbym jednak usunąć te linie i linię bezpośrednio po niej . Korzystnie sed, awklub inne narzędzie, które jest dostępne w mingw32. Jest to rodzaj odwrocie, co mogę dostać grepsię -Ai -Bzanim do drukowania pasujących wierszy, …
sedw systemie AIX nie robi tego, co moim zdaniem powinno. Próbuję zastąpić wiele spacji jedną spacją w danych wyjściowych IOSTAT: # iostat System configuration: lcpu=4 drives=8 paths=2 vdisks=0 tty: tin tout avg-cpu: % user % sys % idle % iowait 0.2 31.8 9.7 4.9 82.9 2.5 Disks: % tm_act Kbps …
Mam skrypt bash, który wylicza każdy plik * .php w katalogu i stosuje się iconvdo niego. Otrzymuje to dane wyjściowe w STDOUT. Ponieważ dodawanie -oparametru (z mojego doświadczenia) faktycznie zapisuje pusty plik prawdopodobnie przed konwersją, w jaki sposób mogę dostosować skrypt, aby wykonał konwersję, a następnie nadpisał plik wejściowy? for …
W tej chwili używam echo "Hello World" >> file.txtdo dodania tekstu do pliku, ale muszę również dodać tekst poniżej określonego ciągu, powiedzmy „[opcja]”, czy jest to możliwe sed? NA PRZYKŁAD: Plik wejściowy Some text Random [option] Some stuff Plik wyjściowy Some text Random [option] *inserted text* Some stuff
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.