Цитирование через файл с использованием столбца

Я пытаюсь пропустить файл с именем file.txt, который содержит кучу мусора и один столбец (столбец № 4), который меня интересует. Я хочу, чтобы этот цикл работал от 0 до eof. Для каждого значения в столбце 4 я хочу вызвать другой скрипт.

5 Solutions collect form web for “Цитирование через файл с использованием столбца”

Чтобы вызвать скрипт для каждого значения в столбце №4, вы можете использовать что-то вроде этого:

 awk '{system("./your_script.sh " $4)}' inputfile 

Еще одна версия, как это можно сделать, на этот раз только с оболочками:

 while read line ; do set $line echo $4 done <filename 

Замените echo своим скриптом.

Я предполагаю, что ваши столбцы разделены пробелами.

 for value in $(cat file.txt | tr -s ' ' | cut -d ' ' -f4); do ./my_script.sh $value done 

Объяснение:

  • tr -s ' ' сжимает последовательные пробелы, так что столбцы разделяются одиночным пространством
  • cut -d ' ' -f4 использует пробел в качестве разделителя для выбора 4-го столбца

Я удивлен, что никто не упомянул xargs , потому что именно цель xargs – предоставлять значения, выводимые предыдущей командой, на что-то другое. Мы можем объединить это свойство с возможностью awk печатать столбцы. Ниже приведен пример демонстрации. Вы можете заменить printf "Hello %s\n" частью вашего скрипта

 xieerqi@eagle:~$ df > testFile.txt xieerqi@eagle:~$ awk '{print $4}' testFile.txt | xargs -I {} printf "Hello %s\n" {} Hello Available Hello 26269816 Hello 4 Hello 2914488 Hello 584064 Hello 5120 Hello 2827976 Hello 102324 
 sed 1d $outfile1 | while read "column on file" do done 
  • В чем разница между этими четырьмя командами (fifo, замещение процесса, перенаправление ...)
  • Сценарий оболочки для прокрутки через папку и файлы списка
  • Сделать zsh использовать readline вместо zle?
  • Использование getline с NR в awk
  • shellcheck советует не использовать basename: почему?
  • Какой интерпретатор оболочки запускает скрипт без shebang?
  • Существуют ли проблемы с дефисами в функциях, псевдонимах и исполняемых файлах?
  • SSH в удаленную оболочку, выполните команду «source» и оставайтесь в удаленной оболочке
  • `Unhandled Exception: System.ArgumentNullException: значение не может быть ошибкой null.` при запуске` dotnet run` с использованием сценария запуска
  • используя stdout дважды (но не tee, как я знаю)
  • Использование файлов, имеющих пробелы в их имени в трубах
  • Как удалить строку на основе Delimeter в perl / Shell?
  • Interesting Posts

    unixODBC и iODBC одновременно установлены?

    После обновления ядра звук больше не работает

    shell сохраняет ip-адрес, который вы ping?

    Нарушается ли поведение CDPATH в раке bourne (/ bin / sh)

    Реальный режим и загрузка ядра Linux запутывают

    Правила rsync только для синхронизации конкретных субдиров в длинных путях

    Что такое более быстрый способ извлечь год из имен файлов, чтобы переместить их в каталоги на основе года, чем мой текущий подход использования `cut` и` rev`?

    почему не удается прочитать / dev / console после перезагрузки AIX

    Как мы можем изменить пароль root?

    «Make install» перезаписывает файлы?

    ext4 – исчезла целая директория?

    Vagrant + CentOS 7 – Apache не запускается, я не вижу ошибки

    libvirtd (KVM) не перезагружает ядро ​​при перезагрузке машины

    Преобразование координат GPS с помощью сценария bash

    Я хочу изменить разрешения для всех папок / файлов, исключая некоторые из них

    Linux и Unix - лучшая ОС в мире.