AWK to interpretowany język programowania przeznaczony do przetwarzania tekstu i zwykle używany jako narzędzie do ekstrakcji danych i raportowania. AWK jest używany głównie w systemach Unix.
Skończyło się na napisaniu krótkiego skryptu do tego w Pythonie, ale zastanawiałem się, czy istnieje narzędzie, do którego można by wprowadzić tekst, które poprzedzałoby każdą linię jakimś tekstem - w moim przypadku znacznikiem czasu. Idealnie byłoby użyć czegoś takiego: cat somefile.txt | prepend-timestamp (Zanim odpowiesz sed, próbowałem tego: cat somefile.txt …
Powiedzmy, że w ciągu dnia wielokrotnie napotykasz następującą formę skolumnizowanego wyniku jakiegoś polecenia w bash (w moim przypadku z wykonania svn stw moim katalogu roboczym Railsów): ? changes.patch M app/models/superman.rb A app/models/superwoman.rb aby pracować z wyjściem twojego polecenia - w tym przypadku z nazwami plików - wymagany jest jakiś rodzaj …
Chcę wydrukować przedostatnią kolumnę lub pole w awk. Liczba pól jest zmienna. Wiem, że powinienem móc go używać, $NFale nie jestem pewien, jak można go używać. I to nie wydaje się działać: awk ' { print ( $NF-- ) } '
Mam kilka plików, z których chciałbym usunąć ostatni znak nowej linii, jeśli jest to ostatni znak w pliku. od -cpokazuje mi, że polecenie, które wykonuję, zapisuje plik z końcową nową linią: 0013600 n t > \n Wypróbowałem kilka sztuczek z sedem, ale najlepsze, o czym przyszło mi do głowy, nie …
Wynik mojego polecenia jest taki: 1540 "A B" 6 "C" 119 "D" Pierwsza kolumna jest zawsze liczbą, po której następuje spacja, a następnie ciąg w cudzysłowie. Moim celem jest zdobycie tylko drugiej kolumny, na przykład: "A B" "C" "D" Zamierzałem użyć, <some_command> | awk '{print $2}'aby to osiągnąć. Ale pytanie …
Mam plik tekstowy o następującym formacie. Pierwsza linia to „KEY”, a druga to „VALUE”. KEY 4048:1736 string 3 KEY 0:1772 string 1 KEY 4192:1349 string 1 KEY 7329:2407 string 2 KEY 0:1774 string 1 Potrzebuję wartości w tym samym wierszu co klucz. Więc wynik powinien wyglądać tak ... KEY 4048:1736 …
Mam plik, który jest stale zapisywany / aktualizowany. Chcę znaleźć ostatnią linię zawierającą określone słowo, a następnie wydrukować ostatnią kolumnę tego wiersza. Plik wygląda mniej więcej tak. Z czasem zostanie do niego dołączonych więcej linii A1 / B1 / C1. A1 123 456 B1 234 567 C1 345 678 A1 …
Czy istnieje sposób na usunięcie zduplikowanych wierszy w pliku w systemie Unix? Mogę to zrobić za pomocą poleceń sort -ui uniq, ale chcę użyć sedlub awk. Czy to jest możliwe?
Mam plik skryptu, który muszę zmodyfikować za pomocą innego skryptu, aby wstawić tekst w 8. wierszu. Ciąg do wstawienia:, Project_Name=sowstestdo pliku o nazwie start. Próbowałem użyć awk i sed, ale moje polecenie jest zniekształcane.
Uczę się awki chciałbym wiedzieć, czy jest możliwość zapisania zmian do pliku, podobnie jak w sedprzypadku, gdybym skorzystał z -iopcji zapisywania zmian w pliku. Rozumiem, że mógłbym użyć przekierowania do zapisania zmian. Czy jest jednak opcja, awkaby to zrobić?
Mam plik CSV, który wygląda tak AS2345, ASDF1232, Mr. Plain Example, 110 Binary ave., Atlantis, RI, 12345, (999) 123-5555,1,56 AS2345, ASDF1232, Mrs. Plain Example, 1121110 Ternary st. 110 Binary ave .., Atlantis, RI, 12345, (999) 123-5555,1.56 AS2345, ASDF1232, Mr. Plain Example, 110 Binary ave., Liberty City, RI, 12345, (999) 123-5555,1,56 …
Za pomocą awklub sedjak mogę wybrać linie, które występują między dwoma różnymi wzorami znaczników? Może być wiele sekcji oznaczonych tymi wzorami. Na przykład: załóżmy, że plik zawiera: abc def1 ghi1 jkl1 mno abc def2 ghi2 jkl2 mno pqr stu Wzorzec początkowy to, abca wzór końcowy to mno Więc potrzebuję wyniku …
Chciałbym wykonać skrypt gawk z --re-intervalużyciem shebang. „Naiwne” podejście #!/usr/bin/gawk --re-interval -f ... awk script goes here nie działa, ponieważ gawk jest wywoływany z pierwszym argumentem "--re-interval -f"(niepodzielonym na białe znaki), którego nie rozumie. Czy istnieje obejście tego problemu? Oczywiście możesz albo nie wywołać gawk bezpośrednio, ale zawinąć go w …
Chcę wykonać następujące czynności awk 'BEGIN {FS=" ";} {printf "'%s' ", $1}' Ale unikanie pojedynczego cudzysłowu w ten sposób nie działa awk 'BEGIN {FS=" ";} {printf "\'%s\' ", $1}' Jak to zrobić? Dzięki za pomoc.
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.