pam _xauth не работает с sudo :Неподдерживаемый протокол авторизации

grep abc student.csv | cut -d, -f 3 >text.txt

Это сначала извлечет каждую строку из student.csv, содержащую подстроку abcв любом месте, а затем вырежет третий столбец с разделителями-запятыми -из этих строк и сохранит их в text.txt.

С данными, указанными в вопросе, text.txtв конечном итоге будет содержать

1/1/18
1/1/17

Это зависит от того, что исходный файл представляет собой простой CSV-файл, т. е. без полей, содержащих встроенные запятые или символы новой строки.

Хотите ли вы искать abcкак полное слово , тогда используйте grep -w abcвместо просто grep abc. Это позволит избежать сопоставления строк, содержащих такие строки, как abcde, но все равно будет соответствовать полю, содержащему abc xyz.

Если вы ищете поля, которые содержат произвольную сложную строку (все еще в простом файле CSV )и если вам нужно, чтобы поле было точно равно этой строке, вам придется перебирать поля в каждой строке:

string='some string' awk -F, '{ for (i = 1; i <= NF; ++i) if ($i == ENVIRON["string"]) { print $3 ; next } }' student.csv

Этот awkкод перебирает все поля в каждой строке в поисках поля, -разделенного запятыми, значение которого точно совпадает со значением переменной окружения string. Как только такое поле найдено, печатается 3-е поле.

2
18.01.2021, 11:38
1 ответ

Я не уверен, что что-то изменилось с 2018 года, но теперь, в 2021 году, в Debian Bullseye изменение конфигурации, описанное в вопросе, работает нормально.pam_xauth создает временный файл с файлом cookie и устанавливает $XAUTHORITYдля указания на этот файл.

1
12.11.2021, 00:06

Теги

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