zapis ze standardowego wyjścia do różnych plików (bez drukowania ekranu)

0

Jak napisać $ Log_general do Log1 i Log2 w obu przypadkach, bez drukowania na ekranie?

Uwaga: Pliki Log1 i Log2 muszą być aktualizowane oddzielnie od $ Log_general, nie chcę kopiować Log1 do Log2 !!

Próbowałem, ale tylko Log2 został zaktualizowany

 echo $Log_general 1>Log1 1>Log2

lub

./my_script.sh 1>Log1 1>Log2

a wraz z nimi pojawił się problem $Log_general wyjście pojawia się na ekranie, podczas gdy ja zamierzam pisać tylko do plików Log1 i Log2:

 echo  $Log_general | tee -a Log1 Log2
jennifer
źródło

Odpowiedzi:

1

Powinieneś móc korzystać z tee polecenie do potoku wyjścia najpierw do jednego pliku i stdout, a następnie standardowe wyjście do drugiego pliku Coś jak:

echo $Log_general | tee Log1 > Log2

Edytować:

Nie widziałem twojej edycji Jennifer przed opublikowaniem, ale powyższe użycie nie wyświetla się na ekranie (jednak używam cygwina, a nie terminala Linuksa - mam nadzieję, że wynik jest taki sam)

Ash
źródło
nie dobrze, ponieważ nie chcę zapisywać log1 w Log2 (Log2 musi aktualizować tylko przez „echo $ Log_general”
jennifer
Przepraszam, zgubiłeś mnie. Myślałem, że chcesz zapisać wynik działania polecenia (w tym przykładzie echo $Log_general ) do dwóch plików w tym samym czasie, co robi mój fragment.
Ash
@Ash zobacz moją ostatnią uwagę (Log1> Log2 jest nielegalny Log2 musi być aktualizowany tylko przez echo ...)
jennifer
@jennifer: Czy próbowałeś uruchomić polecenie, które podałem?
Ash
1
@jennifer: Nie rozumiem twoich komentarzy tutaj, ale na podstawie twojego wykorzystania tee -a, Myślę, że masz ochotę echo $Log_general | tee -a Log1 >>Log2 (aby dołączyć do każdego z nich Log1 i Log2raczej niż obcinanie).
Gilles
1
./bash.sh | tee -a /path/to/firstfile 

Jeśli próbujesz dołączyć wyjście pliku skryptu bash do jednego pliku, powyższy kod będzie działać.

./bash.sh | tee -a /path/to/firstfile |tee -a /path/to/secondfile

Drugi bit kodu powinien działać w celu zapisania tego samego wyjścia do dwóch różnych plików. Używam Xubuntu i działa na mnie.

Virtual Rain
źródło