Условно заменить элементы столбца на содержимое другого столбца

Я не уверен, использует ли Angstrom загрузку на основе зависимостей или нет. Если да, то эти числа можно игнорировать. Предположим, что это не так.

Номера нужны только для упорядочивания скриптов. Важно (например) убедиться, что все файловые системы смонтированы, прежде чем пытаться запустить веб-сервер. Или убедиться, что syslogd запущен перед запуском большинства демонов.

Таким образом, в вашем случае он должен быть после (больший номер) любых скриптов, которые загружают драйверы GPIO, но до (меньший номер) скрипта, запускающего ваше приложение (который зависит от правильной конфигурации порта GPIO).

Если, как указано выше, используется загрузка на основе зависимостей, то вы правильно задаете зависимости в комментариях в верхней части скрипта, и update-rc.d должен определить номер для вас (возможно, перенумеровав и другие скрипты, чтобы все работало).

0
18.08.2018, 19:05
3 ответа

Вы можете попробовать этот awk

awk 'BEGIN{FS=OFS=","}NR==FNR{a[$0];next}FNR in a {$7=$6}1' line_index_file file.csv
1
28.01.2020, 02:42

Вы также можете использовать редактор sedдля выполнения этой задачи:

cmds=$(< line_index_file xargs -l printf '\t%sba\n')

sed -e "
${cmds}
    ;# skip these
    b
    :a
    s/,/\n/5;s//\n/5;s//\n/5
    s/\n\(.*\)\n.*\n/,\1,\1,/
" input.csv

Пояснение:

  • Сначала создайте переменную оболочки, cmds, содержащую информацию о переходе к метке :aдля строк, упомянутых в line_index_file.
  • Пропустить обработку остальных строк, то есть тех строк, которые не упомянуты в строке _индекса _файла.
  • Поместите маркер \n(, так как новая строка гарантированно не будет найдена в пространстве шаблонов sed, в нашем случае )в конце 5-го, 6-го и 7-го полей.
  • Затем выполните операцию, чтобы поместить содержимое 6-го поля в 7-е.
0
28.01.2020, 02:42

Попробуйте это

 for i in `cat line_index_file`
 do
     echo -e "`awk -v b=$i -F ',' 'BEGIN{OFS = ","} NR!=b{$7=$6};{print $0}' file.csv`" > file.csv
 done
  • NR!=bигнорировать номера строк для условия
0
28.01.2020, 02:42

Теги

Похожие вопросы