Znalazłem pytanie, jak usunąć linie dłuższe niż 2048 znaków: Jak usunąć linię, jeśli jest dłuższa niż XY? P: Ale jak mogę usunąć linie krótsze niż 4 znaki? Więc usuń wiersze o długości 1, 2 lub 3 w pliku. AKTUALIZACJA: Dzięki za wiele DOBRYCH odpowiedzi, ale mogę zaznaczyć tylko jedną jako …
Mam zewnętrzny program, który produkuje plik wyjściowy (duże, możliwe 20 000 wierszy). Muszę wstawić nową linię między istniejącą linią 1 i linią 2. Patrzyłem na awk i sed - Używam jednej wkładki w każdej dość regularnie - ale nie byłem w stanie wymyślić odpowiednich przełączników do Zrób to.
Mam skrypt ksh, który musi działać zarówno na systemie Linux, jak i Solaris. Próbuję pokolorować dane wyjściowe określonych poleceń. Działa na Linuksie (konkretnie RHEL6), ale nie na solaris (SunOS 5.10). Komenda w systemie Linux (wyjściowy „test” ma poprawnie czerwony kolor): [amartin@linuxbox:~]$ echo "test" | sed 's,.*,\x1B[31m&\x1B[0m,' test Polecenie na solaris …
Mam plik, który używa tylko \ndla nowych linii, ale muszę go mieć \r\ndla każdej nowej linii. W jaki sposób mogę to zrobić? Na przykład rozwiązałem go w Vimie :%s/\n/\r\n/g, ale chciałbym użyć skryptu lub aplikacji wiersza poleceń. Jakieś sugestie? Próbowałem to sprawdzić za pomocą sedlub grep, ale od razu pomyliły …
Rozumiem, że sedto polecenie do manipulowania plikiem tekstowym. Z mojego Googlinga wydaje się, że -ioznacza to wykonanie operacji na samym pliku, czy to prawda? Co '1d'?
UWAGA: To pytanie jest uzupełnieniem tego pytania i odpowiedzi: Jak „grep” dla długości linii * nie * w danym zakresie? Muszę uzyskać tylko wiersze z pliku tekstowego (lista słów oddzielona znakiem nowej linii), który ma zakres długości minimum lub równy 3 znakom, ale nie dłuższy lub równy 10. Przykład: WKŁAD: …
Mam następujący kod, który usunie linie ze wzorem bananai 2 linie po nim: sed '/banana/I,+2 d' file Jak na razie dobrze! Ale muszę go usunąć 2 linie przed banana , ale nie mogę go z „minus” lub cokolwiek (podobny do tego, co grep -v -B2 banana filenależy zrobić, ale nie …
Nie mogę sprawić, żeby działało. Dokumentacja GNU sed mówi, że trzeba uciec z rury, ale to nie działa, podobnie jak używanie prostej rury bez tej ścieżki. Dodanie parens nie ma znaczenia. $ echo 'cat dog pear banana cat dog' | sed 's/cat|dog/Bear/g' cat dog pear banana cat dog $ echo …
Mam w zwyczaju pisać jedną linię na zdanie, ponieważ zwykle kompiluję różne rzeczy do LaTexa lub piszę w innym formacie, w którym łamanie linii jest ignorowane. Używam pustej linii, aby wskazać początek nowego akapitu. Teraz mam plik napisany w tym stylu, który chciałbym wysłać jako zwykły tekst. Chcę usunąć wszystkie …
Jak mogę wybrać pierwsze wystąpienie między dwoma wzorami, w tym nimi. Najlepiej używając sedlub awk. Mam: text something P1 something content1 content2 something P2 something text something P1 something content3 content4 something P2 something text Chcę pierwszego wystąpienia linii między P1 i P2 (w tym linii P1 i linii P2): …
Muszę zastąpić (jakąś postacią w moim pliku i nie mogę tego zrobić. \(służy do grupowania w sed, a kiedy używałem \\(sed, traktował to jako \(charakter, a nie tylko (. Wydaje mi się to trudną sprawą.
Używam następującego polecenia na moim komputerze Mac: $find . -name “*.java” -exec sed -i ’s/foo/bar/g’ {} \; i wydaje się, że nie ma żadnego efektu. Mam dwa pliki w katalogu, które kończą się na .java, które zawierają tekst foo. Czy coś brakuje? EDYCJA: Wyniki z prośby o komentarze [aafghani-03:~/test amirafghani]$ …
Mam ciąg formatu [0-9]+\.[0-9]+\.[0-9]. Muszę wyodrębnić pierwszą, drugą i trzecią liczbę osobno. Jak rozumiem, grupy przechwytywania powinny mieć taką możliwość. Powinienem być w stanie użyć sed "s/\([0-9]*\)/\1/gpierwszego numeru, sed "s/\([0-9]*\)/\2/gdrugiego numeru i sed "s/\([0-9]*\)/\3/gtrzeciego numeru. Jednak w każdym przypadku otrzymuję cały ciąg. Dlaczego to się dzieje?
Rozważ plik tekstowy z następującymi wpisami: aaa bbb ccc ddd eee fff ggg hhh iii Biorąc pod uwagę wzorzec (np. fff), Chciałbym grep pliku powyżej, aby uzyskać wynik: all_lines except (pattern_matching_lines U (B lines_before) U (A lines_after)) Na przykład, jeśli B = 2i A = 1, dane wyjściowe z wzorcem …
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.