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

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)


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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.