Заменить \r\n из определенного столбца

Это выглядит подозрительно:

/var/www/html/test » id -Gn
ejaz

Команда id -G(с G в верхнем регистре )должна отображать все вторичные группы, но, кажется, показывает только одну из них, а не www-data...

Этого не происходит, когда вы запускаете groups ejaz, так как там вы спрашиваете, какие вторичные группы пользователя ejaz, а не вторичные группы активны в данный момент. Вы можете попробовать просто запустить groups, чтобы убедиться, что только ejazесть, а остальные отсутствуют.

Попробуйте сбросить вторичные группы с помощью команды newgrp:

newgrp

Затем проверьте id -Gnи groupsеще раз, чтобы увидеть, все ли они перечислены...

Вы также можете попробовать:

newgrp www-data

Который попытается сделать www-dataвашей основной группой. Но, возможно, это не удастся, если неправильно настроить вторичные группы...

(Это также объясняет, почему использование suможет помочь обойти эту проблему, так как в этом случае вы снова сбрасываете вторичные группы.)

Теперь вопрос в том, почему вы получаете это сейчас... Вы получаете это, когда подключаетесь к серверу по SSH? Или войдите в консоль (tty1, доступ к которой осуществляется с помощью Ctrl+Alt+F1 )? Или на графической сессии? Можете ли вы проверить, влияет ли это только на один из них?

Возможно, что-то есть в конфигурации PAM, но трудно сказать... Может быть, попытаться выяснить, в каких случаях возникает проблема, и, если вы сможете сузить круг поиска, опубликовать новый вопрос об этом. Также, возможно, просмотрите журналы APT, чтобы увидеть, какие пакеты были затронуты в этом обновлении. Возможно, посмотрите временные метки файлов конфигурации PAM, чтобы узнать, не обновлялись ли они в последнее время...

Удачи!

-2
23.08.2020, 02:24
2 ответа

Я не уверен, правильно ли понял ваш вопрос. Я думаю, вы можете использовать для этого sed. Это заменит каждый \r\n в вашем файле пустой строкой.

sed s/\\r\\n//g < yourFile

Если вывод выглядит правильно, замените его, направив стандартный вывод в файл.

sed s/\\r\\n//g < yourFile > resultFile

привет

-1
18.03.2021, 23:10

sed -e 's/\\r\\n//g' filename| perl -pne 's/\n/ /g'

выход

Hello   World   Example   Text     new   line

Питон

#!/usr/bin/python
import re
g=[]
m=re.compile(r'\\r\\n')
k=open('file','r')
for  i in k:
    g.append(re.sub(m," ",i).strip())
print " ".join(g)
0
18.03.2021, 23:10

Теги

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