Вы не можете отключить SELinux без перезагрузки.
Вы можете установить его в разрешающий режим во время выполнения с помощью
setenforce Permissive
или
setenforce 0
В этом режиме SELinux ведет себя так, как будто он отключен; то есть он не применяет правила, а просто регистрирует любые их нарушения (в файле /var/log/avc.log
, /var/log/audit/audit.log
или /var/log/audit.log
, в зависимости от того, какие службы запущены на вашем компьютере ).
Сawk
:
awk '{ sum_A +=$1; sum_B+=$2; };
END{ print "Total count Column A = " sum_A +0;
print "Total count column B = " sum_B +0;
}' infile
на языке awk , который является инструментом для обработки текста -, $1
представляет значение первого столбца, $2
представляет значение второго столбца, $3
для третьего и т. д. и один специальный NF
представляет идентификатор последнего столбца и, соответственно, $NF
является значением последнего столбца (, поэтому вы также можете заменить $2
выше на $NF
; и да, вы улавливаете это, когда NF
является последним идентификатором столбца, поэтому значение переменной говорит вам, сколько столбцов у вас есть (ее обновление значения для каждой строки awk читается из ввода)).
Чтобы обработать пограничный случай, когда входной файл пуст, но все же получить числовой вывод, мы добавляем 0 к результату, заставляя awk
выводить числовой результат.
столбцы (или поля )в awk
, отличающиеся FS
переменной(F eild S разделителем ), по умолчанию используется пробел/табуляция. если вы хотите разделить столбцы на разные символы, вы можете переопределить их с помощью опции -F
для awk
, как в:
awk -F'<character-here>' '...' infile
или внутри блока BEGIN{...}
, аналогичноFS
:
awk 'BEGIN{ FS="<character-here>"; }; {... }' infile
например, для входного файла, как показано ниже (теперь это запятая вместо пробела):
100,500
200,300
700,100
вы можете написать свой awk
код следующим образом:
awk -F',' '{ sum_A +=$1; sum_B+=$2; };
END{ print "Total count Column A = " sum_A +0;
print "Total count column B = " sum_B +0;
}' infile
Или внутри блока BEGIN
:
awk 'BEGIN{ FS=","; }; { sum_A +=$1; sum_B+=$2; };
END{ print "Total count Column A = " sum_A +0;
print "Total count column B = " sum_B +0;
}' infile
Немного усложним и просуммируем все N столбцов входного файла в следующем образце:
100,500,140,400
200,300,640,200
700,100,400,130
Итак, мы говорили о NF
в первом абзаце (Значение NF говорит вам, сколько столбцов у вас есть (обновление для каждой строки)):
awk -F',' '{ for (i=1; i<=NF; i++) sum[i]+=$i; };
END{ for (colId in sum) {
printf ("Total count Column: %d= %d\n", colId, sum[colId] );
};
}' infile
единственная новая вещь здесь заключается в том, что мы использовали массив awk
для обращения к тому же идентификатору столбца, взяв значение i
и добавив их значения $i
в этот массив (индекс/ключи этого массива - это столбец идентификаторы ); затем в блоке END{...}
мы перебираем наш массив по ключам, которые он видел, затем сначала печатаем идентификатор столбца, а затем сумму тех, что рядом с ним,вы увидите вывод, как показано ниже:
Total count Column: 1= 1000
Total count Column: 2= 900
Total count Column: 3= 1180
Total count Column: 4= 730
Это хорошая работа для округа Колумбия.
dc считывает сначала данные из fold.txt и после кода из sum _col _dc.
Использовать так :dc fold.txt sum _col _dc
cat sum_col_dc
[lB+sBlA+sAz0<C]sC[lGLElDnnnp]sH[Total count Column ]sD[B]sE[A]SE[ = ]sGlCxlAlHxlBlHx
Немного подробнее:
[lB+sBlA+sAz0<C]sC
[lGLElDnnnp]sH
[Total count Column ]sD
[B]sE
[A]SE
[ = ]sG
lCx
lA
lHx
lB
lHx
Наслаждайтесь DC
Подробнее объясните по запросу.