выбор столбца

Как упомянул 0andriy, вы можете использовать привязку/развязку. Я делаю что-то подобное, но это будет по-другому, так как это зависит от оборудования. Чтобы отвязать модуль Wi-Fi sdio, я использую:

echo -n "2190000.usdhc" > /sys/devices/soc0/soc/2100000.aips-bus/2190000.usdhc/driver/unbind

Это даст вам что-то вроде mmc1: card 0001 removedв dmesg.

Затем я переключаю пин-код gpio для сброса модуля Wi-Fi

Затем перевязать:

echo -n "2190000.usdhc" > /sys/bus/soc/devices/soc0/soc/2100000.aips-bus/2190000.usdhc/subsystem/drivers/sdhci-esdhc-imx/bind

В этот момент dmesg напечатает что-то вроде:

mmc1: SDHCI controller on 2190000.usdhc [2190000.usdhc] using ADMA
mmc1: new high speed SDIO card at address 0001

Процесс привязки/отвязки хорошо объясняется в этой старой статье LWN.net .

0
12.09.2019, 03:15
3 ответа

Использование awk:

awk -n '$4 !=0 || $5 != 0 || $8 != 0 || $9 != 0 {print $0}' filename
5
28.04.2021, 23:29

просто вы также можете:

awk '$4+$5+$8+$9' infile

и сохранить строку заголовка:

awk 'NR==1 || $4+$5+$8+$9' infile
0
28.04.2021, 23:29

Решение awkот @unxnut является более гибким, но в вашем конкретном случае, поскольку ваши требования просты, а формат файла также прост, grepтакже может это сделать.

Включение строк, в которых хотя бы одно значение не равно -нулю, равносильно исключению строк, в которых все эти значения равны нулю. Эта команда grepищет строки, содержащие два экземпляра:

  • вертикальная черта, за которой следует пробел
  • ноль, за которым следует пробел
  • еще один ноль, за которым следует пробел

Любая строка, которая соответствует двум экземплярам этого шаблона (, то есть любая строка, в которой все четыре значения равны нулю ), удаляется . Остальные строки отображаются:

$ egrep -v '(\|  *0  *0.*){2}' infile
                   A      B     C           D        E       G       
SES-N  .    |     1      0     10  |       0        0       10
CSS-N  .    |     0      0     10  |       0        5       10
0
28.04.2021, 23:29

Теги

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