Используйте одинарные кавычки, поскольку содержимое в двойных кавычках интерполируется оболочкой, а звездочка или челка имеют для него особое значение.
-LLL '(&(objectclass=*)(uid=*)("\!"(roles=*)))'
Я не знаю, нужны ли ваши внутренние двойные кавычки, вам, вероятно, нужно будет удалить и их, поэтому на самом деле синтаксис должен быть:
-LLL '(&(objectclass=*)(uid=*)(!(roles=*)))'
Мы можем сделать этоawk
awk '{print NF}' unix.txt
Количество слов по строкам
awk '{print NF" "$0}' unix.txt
Количество слов с номерами строк
awk '$0="line"NR": "NF' unix.txt
awk '$0="line"NR": "NF' unix.txt | grep line3
Попробуйте также
awk -v"LNR=$2" 'NR > LNR {print SUM; exit} {SUM+=NF}' file
13
Ваш сценарий принимает два аргумента:
Итак, в скрипте вы можете использовать его, как показано ниже:
sed -n "/\w/{1,$2 p;}" $1 | wc -w
где $1
содержит имя вашего файла $2
содержит общее количество строк, необходимых для поиска