Я пытаюсь использовать утилиту basename
в xargs
по трубопроводу от printf
, как показано ниже:
printf "%s" "$ACTUAL_FILES" | xargs -d ' ' -i printf "%s\n" "$(basename {})"
Здесь $ACTUAL_FILES
- массив абсолютных путей к файлам, каждый из которых разделен пробелом.
С помощью приведенного выше фрагмента я пытаюсь напечатать имя файла без пути в каждой строке. Но вывод, который я получаю, такой же, как в $ACTUAL_FILES
с каждым элементом в новой строке.
Я знаю, что мы можем достичь этого с помощью bash sub shell
и echo
с xargs
, но мне сообщили, что можно использовать printf
с xargs
.
Как я могу использовать basename или любую другую утилиту для получения имени файла.