Сохранить результат grep в переменной

0

Как и выше, я запускаю эту команду grep, которая работает как надо, но как мне сохранить возвращаемое значение в переменной?

cat data.txt | grep "" |cut -d\, -f1

Я попробовал это, но это не сработало:

rig=$(cat data.txt | grep "" |cut -d\, -f1)
twigg
источник
1
Что такое grep "" должен делать? Каков выход echo $rig?
Stefan Seidel
Это нормально, я новичок в этом изучении BASH, я думаю, мне нужно «» в качестве аргумента, без которого скрипт не запустится? Я обнаружил, что это работает: rig = grep "" data.txt |cut -d\, -f1 и, кажется, хранит значение, как я ожидаю, так что это работает для меня :)
twigg
что за \ для?
ctrl-alt-delor
вам не нужен кот или grep. grep "" - это pass all, пустой канал, как и cat с 1 аргументом.
ctrl-alt-delor
Не нужно избегать запятой, либо: cut -d, -f1 достаточно.
chepner

Ответы:

1
  rig=`grep "" data.txt | cut -d\, -f1`

Кажется, работает на меня, поэтому я пойду с этим, если у кого-то еще нет никаких указаний о том, как улучшить вышеупомянутое?

twigg
источник
Вы сделали ошибку транскрипции? Это не работает. Тот, о котором идет речь, делает.
ctrl-alt-delor
2
Я думаю, что это так же, как rig=$(cut -d\, -f1 data.txt) без grep - не так ли?
RedGrittyBrick