Mam więc plik dziennika z czatu Twitcha i chcę stworzyć chmurę słów, aby to zrobić, chcę tylko teksty po ich nazwie, np.
[Jun 01 2015 02:23:58 UTC] swimsphinx: test1
[Jun 01 2015 02:24:15 UTC] swimsphinx: test2
[Jun 01 2015 02:27:36 UTC] swimsphinx: lol
Chcę przetworzyć cały plik, aby data i nazwa zostały usunięte, więc zostały mi 3 linie
test1
test2
lol
Czy jest to możliwe w Windows CMD? Czy jest coś jeszcze, co powinienem zrobić?
Odpowiedzi:
(EDYCJA: Dla jasności, jak zauważył David, nie zadziała to w ogólnym
cmd
interpretatorze systemu Windows . To bardziej jednolinijka PowerShell)Możesz zrobić coś takiego:
cat chat.log | %{$_ -replace "\[[^]]*\] +[^ ]*: ",""} > words.txt
Przetłumaczone: przeczytaj treść
chat.log
, a następnie potokuj to w poleceniu, aby zamienić wszystko, co wygląda jak znacznik czasu / nazwa użytkownika na początku każdej linii, i umieść wynik wwords.txt
Zgadłem też, że w dziwnych przypadkach, takich jak:
chcesz dostać
zamiast
źródło
cmd
rozwiązanie. To rozwiązanie typu PowerShellpowershell
skrypt :(Podobne do odpowiedzi DavidPostill , ale możesz użyć symbolu wieloznacznego, aby usunąć wszystko przed podciągiem.
Przekaż nazwę pliku tekstowego do skryptu, gdy go wywołujesz (lub zastąp% 1 nazwą pliku tekstowego).
źródło
Jak filtrować określony tekst z pliku dziennika?
Jeśli wiersze są zawsze w tym samym formacie, możesz użyć następującego pliku wsadowego.
test.cmd:
Wejście:
wynik:
uwagi:
log.txt
i wyjściowymfiltered.txt
, można przekazać te nazwy do pliku wsadowego jako parametry.:
).set _txt=%%a
a następnie!_txt:~1!
służy do usuwania miejsca po czwartym:
.źródło
Oto mój osobisty wybór za pomocą PythonPy . Działa w wielu systemach operacyjnych i możesz ponownie wykorzystać swoją znajomość języka Python. Nawet jeśli nie znasz nauki języka Python, byłoby to łatwiejsze niż spędzanie czasu z materiałami Awk & Sed.
Oto jak zacząć.
Zainstaluj PythonPy dla Windows
pip install pythonwpy
Użyj tego polecenia,
type test | wpy -x 'print(x.split(" ")[-1])'
aby przeanalizować plik dziennika.Oto, co próbowałem i otrzymałem:
3. Możesz dowiedzieć się o wiele więcej ekscytujących funkcji dla systemu Windows tutaj i dla systemu Linux / OSX tutaj
źródło
Nie jest to rozwiązanie cmd i uwielbiam PowerShell, ale w rzeczywistości jest to jedna z zalet Vima.
i jesteś skończony.
_ będąc spacją
źródło