Pytania oznaczone «sed»

29
Jak mogę zapisać do drugiej linii pliku z linii poleceń?

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....

29
Jak usunąć linie krótsze niż XY?

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...

28
Co robi sed -i „1d”?

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

28
Jak dodać zwrot karetki przed każdą nową linią?

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,...

28
Jak „grep” dla długości linii w danym zakresie?

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....

27
znajdź i sed (wyszukaj i zamień)

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...

27
grupy przechwytywania sed nie działają

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...

27
Jak zamienić lewy nawias na sed?

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ą

26
Chcesz zastąpić sed tylko raz

Oryginalny plik claudio antonio claudio michele Chcę zmienić tylko pierwsze wystąpienie „claudio” na „claudia”, więc wynik pliku claudia antonio claudio michele próbowałem sed -e '1,/claudio/s/claudio/claudia/' nomi Ale dokonaj globalnej zamiany.