Xargs, кажется, не передает некоторые файлыLinux

Ответить
Anonymous
 Xargs, кажется, не передает некоторые файлы

Сообщение Anonymous »

Похоже, что Xargs не передает некоторые файлы.
Цель сценария Bash: добавить расширение «.sh», если оно отсутствует.
Я передаю временный файл из команды поиска.

найти "$CURRENT_SRC" -type f ! -name "pl" -exec bash -c 'head -n1
"$1" | grep -q "^#![[:blank:]]/bin/bash"' _ {} ; -печать | тройник -a
"$OUTPUT_LOG"

Код: Выделить всё

cat  "$OUTPUT_LOG" | sort >  "$OUTPUT_LOG_SORTED"
Результатом является список из 186 файлов вида:

…. …. ..../SBin/hardware_graphical_subsystem_driver_in_use
..../SBin/hardware_graphical_subsystem_info
..../SBin/hardware_graphical_subsystem_info_to_file
..../SBin/hardware_graphic_nvidia_remove_driver_procedure_part1.sh
..../SBin/hardware_graphic_nvidia_remove_driver_procedure_part2.sh
..../SBin/hi ..../SBin/hmac_md5_launcher
..../SBin/kde_config_change_kactivity_index_in_database_launcher.sh
.. ../SBin/kde_config_change_kactivity_index_in_database.sh
..../SBin/net_network_avahi-browse
..../Sbin/net_network_configure_network_device_card …. ….

Временные файлы выделены красным, и каждое имя файла передается в функцию с помощью xargs

кот "$OUTPUT_LOG_SORTED" | xargs -L 1 bash -c 'make_input_output "$@"
"$CURRENT_DEST" "$CURRENT_BACKUP_DEST" ' _

Цель Функция make_input_output заключается в добавлении расширения «.sh», если его нет в текущем файле, иначе просто верните текущий файл.
По завершении все файлы будут иметь расширение «.sh». .
Проблема:
Четыре файла в списке, которые уже имеют расширение «.sh», не передаются в функцию.
Если я заменю последовательность вызовов на:

cat "$OUTPUT_LOG_SORTED" | xargs -L 1 bash -c 'echo "$@" ---
"$CURRENT_DEST" --- "$CURRENT_BACKUP_DEST" ' _

Все файлы у меня есть.
….
….
….
..../SBin/hardware_graphical_subsystem_info --- ..../SBin --- ..../SBin
..../SBin/hardware_graphical_subsystem_info_to_file --- ..../SBin --- ..../SBin
..../SBin/ hardware_graphic_nvidia_remove_driver_procedure_part1.sh --- ..../SBin --- ..../SBin
..../SBin/hardware_graphic_nvidia_remove_driver_procedure_part2.sh --- . .../SBin --- ..../SBin
..../SBin/hi --- ..../SBin --- ..../SBin
.. ../SBin/hmac_md5_launcher --- ..../SBin --- ..../SBin
..../SBin/kde_config_change_kactivity_index_in_database_launcher.sh --- .. ../SBin --- ..../SBin
..../SBin/kde_config_change_kactivity_index_in_database.sh --- ..../SBin --- .... /SBin
..../SBin/net_network_avahi-browse --- ..../SBin --- ..../SBin
..../SBin/net_network_configure_network_device_card --- . .../SBin --- ..../SBin
..../SBin/net_network_eth_initial_config --- ..../SBin --- ..../SBin
….
….
….
Я не понимаю, откуда возникла проблема.
Любая помощь приветствуется.< /п>

Подробнее здесь: https://stackoverflow.com/questions/788 ... some-files
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»