15.13. Eliminacja błędów typu „argument list too long”

Problem

Podczas wykonywania zadania wymagającego podmiany symboli wieloznacznych na ekranie zostaje wyświetlony komunikat argument list too long (zbyt długa lista parametrów).

Rozwiązanie

Aby podzielić listę parametrów, wystarczy zastosować instrukcję xargs (często współdziałającą z poleceniem find).

Na przykład zamiast polecenia ls można użyć pętli for lub instrukcji find.

$ ls /ścieżka/do/katalogu/z/wieloma/plikami/*z*
bin/bash: /bin/ls: Argument list too long

# Skrócona lista – znaki ~ są wykorzystane tylko do demonstracji działania mechanizmu
$ for i in ./pliki/Pliki/*z*; do echo "~$i~"; done ~./pliki/Plik ze wstawionym znakiem nowego wiersza w nazwie~ ~./pliki/Plik ze znakami nawiasu [kwadratowego] ...

Get Bash. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.