Предоставление доступа sudo
не должно приравниваться к:
передаче ключей королевства.
Только не будьте столь щедры с вашими разрешениями sudoers
.
Если вы хотите, чтобы у них был доступ только для чтения файла, предоставьте только sudo
доступ к кот
.
Также будьте осторожны при предоставлении доступа sudo
таким приложениям, как vim
или less
, которые позволяют вам войти в оболочку (как root).
Вы можете использовать функцию awk gensub
, чтобы удалить нецифру [^0-9]
из 3-го поля:
awk -v c=1 '{$(NF+1)="tss"((gensub("[^0-9]","","g",$3)==$4)?c:++c)}1' OFS='\t' file
При этом создается новый столбец $(NF+1)
, представляющий собой строку tss
со счетным числом c
на основе сравнения 3-го и 4-го столбцов. Это использует тернарный оператор ...?...:...
, который эквивалентен if...then...else
.
Последнее 1
— это действие awk по умолчанию, то есть печать строки.
Подобный awk
скрипт должен работать:
NR == 1 { print }
NR > 1 {
if( $3 == last ) {
count++
} else {
count = 1
}
last = $3
print $1, $2, $3, $4, "tts" count
}
OFS
по умолчанию является вкладкой, и ввод, разделенный вкладкой -, также работает с вкладками. Итак, с этим awk-скриптом вscript.awk
:
$ awk -f script.awk inputfile