Mam następujący problem: dysponuje na swojej maszynie Linux Manjaro 64-bit programem, który jak później sprawdziłem jest skryptem w Perlu. Nazywa się trans i służy do tłumaczenia tekstu przy użyciu konsoli.
trans en:pl "accessing"
accessing
dostęp
Tłumaczenia accessing
[ English -> Polski ]
accessing
dostęp, dostępu
To jest typowe działanie tego programu. Chciałem zgodnie z zasadą, że warto zapisywać gdzieś efekty pracy na komputerze. Przekierować output do jakiegoś pliku. Wykorzystałem do tego celu następującą komendę w konsoli: trans en:pl "word" >> AnyFile.txt | trans en:pl "word". Aby dopisać do pliku i wyświetlić rezultat pracy programu na konsoli. Niestety w pliku dzieją się dziwne rzeczy. Tzn. gdy użyję polecenia cat, by wyrzucić na ekran zawartość pliku wszystko wygląda ładnie. Natomiast, gdy chcę podejrzeć plik. To, np. przy tłumaczeniu avoid accesing mam:
avoid accessing
[1munikaj dostępu [22m
Tłumaczenia [4mavoid accessing [24m
[ [4mEnglish [24m -> [1mPolski [22m ]
[4mavoid accessing [24m
[1munikaj dostępu [22m, [1mDostęp unikać [22m
Takie bohomazy. Próbowałem szukać rozwiązania na stronie https://github.com/soimort/translate-shell . Niestety oni proponują tylko zastosowanie do programu -b przy przekierowaniu echo "avoid accessing" | trans -b -o output.txt. A w ten sposób uzyskam o wiele mniej niż chcę informacji w pliku do którego chcę zapisywać. Próbowałem rozwiązać problem przy pomocy skryptu w Pythonie. Ale poległem gdy okazało się, że powinienem przy os.system('/usr/bin/trans') użyć właśnie tej absolutnej ścieżki do programu i nie wiem, jak rozwiązać ten problem uruchomienia tego skryptu wraz z argumentem, którym ma być tłumaczony tekst. Pomyślałem, więc że wystarczyłoby przy przekierowaniu >> przekazać niesformatowany tekst. Niestety nie znalazłem w Internecie informacji jak to zrobić. Z góry dziękuję za przeczytanie postu i za wszelką pomoc.
Mateusz