В Linux команда cut - это полезная команда для извлечения секций и столбцов из входных данных, которые вы можете передавать в виде строк или файлов. Она доступна почти в каждом дистрибутиве Linux по умолчанию. Но иногда вам может понадобиться сохранить вывод команды cut в переменной в Unix. Ниже описаны шаги для этого.
Как сохранить вывод команды Cut в переменной в Linux
Ниже описано, как сохранить вывод команды cut в переменной в Linux. Допустим, вы хотите вырезать столбец 2 из файла data.txt. Вот команда для этого.
1 | cat data.txt |
1 | cut -d " " -f 2 data.txt |
В приведенной выше команде мы используем опцию -d для указания разделителя " " и используем опцию -f для указания того, что нам нужен столбец №2. Таким образом, команда cut выведет 2-е слово в каждой строке входного файла.
Теперь, если вы хотите сохранить вывод команды cut в переменной, просто оберните приведенную выше команду в $(...), как показано ниже.
1 | list=$(cut -d " " -f 2 data.txt) |
Проверить содержимое переменной, можно следующим образом
1 | echo "$list" |
Как видите, в переменной $list хранится 2-й столбец файла data.txt, извлеченный с помощью команды cut. Важно отметить, что когда вы используете команду echo для просмотра значения переменной shell, вам необходимо заключить ее в двойные кавычки. Только тогда она правильно разделит данные, используя пробелы и новые строки, как это присутствует в файле data.txt. Если вы напрямую вызовете команду echo на $list, она выведет весь вывод на одной строке без надлежащего форматирования.
1 2 | echo $list |
Аналогично, вы можете сохранить вывод любой команды cut в переменную shell. Вот команда для сохранения 6-го символа каждой строки в файле data.txt.
1 2 | list=$(cut -c 6 data.txt) echo "$list" |
Хранение вывода команды cut в переменной shell полезно, если вы хотите многократно использовать вывод без повторного выполнения всей команды. Это также полезно, если вы хотите обработать вывод в дальнейшем.
Заключение
В этой небольшой статье мы узнали, как сохранить вывод команды cut в переменной shell.