xargsKomenda zawsze mnie dezorientuje. Czy istnieje ogólna zasada? Rozważ dwa poniższe przykłady: $ \ls | grep Cases | less drukuje pliki, które pasują do „Cases”, ale zmiana polecenia touchbędzie wymagała xargs: $ \ls | grep Cases | touch touch: missing file operand Try `touch --help' for more information. $ \ls …
Muszę być w stanie posortować alfabetycznie wynik findprzed przesłaniem go do polecenia. Wchodzenie | sort |pomiędzy nie działało, więc co mogłem zrobić? find folder1 folder2 -name "*.txt" -print0 | xargs -0 myCommand
Próbuję wywołać takie zachowanie: grep 192.168.1 *.txt Przekazując ciąg znaków do grep przez Xargs, ale kończy się on jako pierwszy parametr. echo 192.168.1 | xargs grep *.txt Muszę powiedzieć xargs (lub coś podobnego), aby umieścił przychodzący ciąg między „grep” i „*” zamiast na końcu. Jak mam to zrobic?
Powiedz, że mam plik z następującymi informacjami bob john sue Teraz te bezpośrednio corrospond do (w tym przypadku) wzór URL, takich jak http://example.com/persons/bob.tar, john.tar, sue.tar. Chciałbym wziąć te linie i je przejrzeć xargs. Nie wiem jednak, co jest przekazywane do wykonywanego polecenia. Jak uzyskać dostęp do parametru albo z wiersza …
Jestem zdezorientowany co do różnicy lub zalet (jeśli w ogóle) uruchamiania zestawu zadań za .shpomocą skryptuGNU parallel Np. Odpowiedź Ole Tange'a : parallel ./pngout -s0 {} R{} ::: *.png zamiast powiedzieć, że je przewijamy, umieszczając je w tle &. Np. Odpowiedź frostschutza : #copied from the link for illustration for …
HP-UX ***** B.11.23 U ia64 **** licencja nieograniczonego użytkownika find . -type d -name *log* | xargs ls -la daje mi nazwy katalogów (te, które zawierają lognazwę katalogu), a następnie wszystkie pliki w tym katalogu. Katalogi /var/opt/SID/application_a/log/, /var/opt/SID/application_b/log/, /var/opt/SID/application_c/log/i tak dalej zawierać pliki dziennika. Chcę, aby polecenie zawierało tylko dwa …
Strona man dla GNU find stwierdza: -exec command ; [...] The string `{}' is replaced by the current file name being processed everywhere it occurs in the arguments to the command, not just in arguments where it is alone, as in some versions of find. Both of these constructions might …
Rozumiem, że -execmożna wybrać +opcję naśladowania zachowania xargs. Czy jest jakaś sytuacja, w której wolisz jedną formę od drugiej? Osobiście wolę pierwszą formę, choćby po to, by uniknąć używania rury. Myślę, że z pewnością programiści findmusieli dokonać odpowiednich optymalizacji. Mam rację?
Chcę znaleźć jakieś pliki, a następnie je przenieść. Mogę znaleźć plik za pomocą: $ find /tmp/ -ctime -1 -name x* Próbowałem przenieść je do mojego ~/playkatalogu za pomocą: $ find /tmp/ -ctime -1 -name x* | xargs mv ~/play/ ale to nie zadziałało. Oczywiście mv potrzebuje dwóch argumentów. Nie wiesz, …
Dlaczego xargs usuwa cudzysłowy z tekstu wejściowego? Oto uproszczony przykład: echo "/Place/='http://www.google.com'" | xargs echo wyjścia /Place/=http://www.google.com Czy jest jakiś sposób na obejście tego? (xargs -0 mi nie pomaga)
Czasami wykonuję długie xargsprace z dnia na dzień i naprawdę denerwuje mnie odkrycie, że xargsumarł gdzieś pośrodku, na przykład z powodu błędu segmentacji w jednym szczególnym przypadku, jak to miało miejsce tej nocy. Jeśli nawet jedno xargsdziecko zostanie zabite, nie przetwarza już żadnych danych wejściowych: Konsola 1: [09:35:48] % seq …
Mam taką linię: find /foo/bar -name '*.mp4' -print0 | xargs -i {} -0 mv -t /some/path {} ale dostałem następujący błąd: xargs: argument line too long Jestem zdezorientowany. Czy użycie tego nie xargspowinno właśnie pomóc w rozwiązaniu tego problemu? Uwaga: Wiem, że mogę technicznie użyć -execw find, ale chciałbym zrozumieć, …
Chciałbym uruchomić: ./a.out < x.dat > x.ans dla każdego * .dat pliku w katalogu A . Jasne, można to zrobić za pomocą skryptu bash / python / cokolwiek, ale lubię pisać seksowne, jedno-liniowe. Wszystko, co mogłem osiągnąć to (wciąż bez żadnego standardowego): ls A/*.dat | xargs -I file -a file …
Jak mogę zmienić dane wyjściowe, tailaby używać linii zakończonych znakiem zerowym zamiast nowych linii? Moje pytanie jest podobne do tego: Jak zrobić `head` i` tail` na wejściu rozdzielanym zerami w bash? , ale różni się tym, że chcę zrobić coś takiego: tail -f myFile.txt | xargs -i0 myCmd {} "arg1" …
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.