Bash - Строки, Команды и Escape (о, мой!)
Я трачу так много времени прямо сейчас, пытаясь понять что-то такое простое ...
псевдокод (смесь нескольких синтаксисов, извините):
cmd1 = "find /my/starting/path -type f | grep -v -f /my/exclude/files"
cmd2 = " nl -ba -s' ' "
cmd3 = " | xargs mv -t /move/here/dir "
echo run_command_and_return_output($cmd1$cmd2)
$cmd1$cmd3 # just this now...
# i don't actually want a function... but the name explains what i want to do
function run_command_and_return_output(){ /* magic */ }
это работает....
FIND=$(find $LOG_DIR -type f | grep -v -f $EXCLUDE | nl -ba -s' ')
printf "%s\n" "$FIND"
это не ...
NL="nl -ba -s' '"
FIND=$(find $LOG_DIR -type f -mtime +$ARCH_AGE | grep -v -f $EXCLUDE | $NL)
printf "%s\n" "$FIND"
и это тоже не делает ...
NL='nl -ba -s'\'' '\'' '
это определенно работает, хотя:
find /my/starting/path -type f | grep -v -f /my/exclude/files | nl -ba -s' '
или же
FIND=$(find $LOG_DIR -type f -mtime +$ARCH_AGE | grep -v -f $EXCLUDE | nl -ba -s' ' )