У меня есть несколько команд, следующих друг за другом после xargs
. Как ни странно, команда отлично работает, если просто откликнуться на stdout
. Когда я пытаюсь назначить его переменной, переменная остается пустой. Смотрите ниже:Команда Bash, присвоенная переменной, остается пустой
$~ ./somescript | grep -f fc.samples | xargs -I {} sh -c "echo {} | tr '/' '\t' | cut -f9;"
sample1
sample2
sample3
sample4
sample5
sample6
sample7
sample8
$~
Попытка присвоить его переменной, а затем повторить это приводит пустые строки:
$~ ./somescript | grep -f fc.samples | xargs -I {} sh -c "sample=$(echo {} | tr '/' '\t' | cut -f9); echo $sample; "
$~
Я попробовал несколько вариантов этого и не могу понять, что я получаю неправильно. Может ли кто-нибудь определить проблему?
Спасибо!
Вы попробовали это? 'sample = $ (./ somescript | grep -f fc.samples | xargs -I {} sh -c" echo {} | tr '/' '\ t' | cut -f9; ")' –
Нет, я сделал not - идея присвоения 'sample' для последующего использования в командах xargs - я думаю, что это не сработает для меня;) – dmeu