У меня есть корень дерева каталогов, который выглядит так
/ SYS / класс / GPIO / чип ** / $$
** представляют как 8 родительские папки, $$ представляют как 16 дочерние подпапки. каждый дочерний элемент содержит файл без расширения, значение ASCII которого равно 0 или 1 .
Как можно объединить значения каждой подпапки (16 дочерних) в их родительских папках (8) соответственно, чтобы в каждой родительской папке был выходной файл, который должен содержать 16 значений ASCII 0 или 1 (объединение 16 детей).
Мне удалось выполнить объединение в каждой подпапке, поэтому код:
#!/bin/bash
for f in */; do
find -name "" -execdir sh -c 'cat {} >> out' \;
done
В нормальном состоянии состояния все 16 детей должны быть 0 или 1
единогласно , но мне нужно проверять это каждый раз .
В текущем состоянии я получаю out
файл в каждой подпапке, и я не могу просто переместить или скопировать этот файл в родительскую папку и перезаписать его, потому что мне нужно проверить также сценарий для пример , что значение двух дочерних элементов не идентично другим 14 дочерним элементам в их группе (родительской папке). Например: В родительской папке # 1: 14 дочерних значений равны 1, а 2 других дочерних значения равны 0.
Могу ли я преодолеть это на этапах find
и cat
, если нет, то как тогда?
- Большое спасибо за помощь.