Как дать многомерному массиву значение для каждой «ячейки»

Когда вы становитесь членом домена (например, это необходимо для 'security = ads'), в каталоге создается учетная запись компьютера для вашего сервера. Ваш сервер использует эту учетную запись для доступа к ресурсам в домене.

NT_STATUS_NO_TRUST_SAM_ACCOUNT указывает на то, что на вашем компьютере возникли проблемы с использованием его учетной записи (ее учетные данные могли быть по какой-то причине аннулированы). Выход из домена и повторное присоединение к нему («присоединение к сетевой рекламе») должно исправить это.

Старые версии Samba поддерживали переадресацию аутентификации на удаленный сервер без членства в домене, но AFAICT этого больше не существует.

1
08.03.2017, 15:23
1 ответ

выделенный текст Я не уверен, хотите ли вы печатать знак ">" на выходе или он присутствует на входе ... Пожалуйста, дайте мне отзыв, чтобы я мог внести исправления в скрипт.

Это должно выполнить работу , если вход и выход равны в точности , как вы описали:

#!/usr/bin/awk
{
# Set the INDEX for each 'Initial Solution'
if ($1==">Initial"){
        gsub(/\./,"",$3);
        INDEX=$3;}

#Discard lines with 'Species' or 'Description'
if (($1==">Description")||($1==">Species")) next;

#Remove '>' from the first field
gsub(/>/,"",$1)

#Set the labels of the rows
PH[0]="Column"
PE[0]="Specie\\ph"
H[0]="H+"
OH[0]="OH-"
AM[0]="Am+2"

#Set other values (pH, pe, etc)
if ($1=="pH") PH[INDEX]=$3
if ($1=="pe") PE[INDEX]=$3
if ($1=="H+") H[INDEX]=$2" "$3
if ($1=="OH-") OH[INDEX]=$2" "$3
if ($1=="Am+2") AM[INDEX]=$2" "$3
}

# Print each array.
END {
for (i = 0; i <= INDEX; i++) printf("%s\t",i)
printf("\n")
for (i = 0; i <= INDEX; i++) printf("%s\t",PH[i])
printf("\n")
for (i = 0; i <= INDEX; i++) printf("%s\t",PE[i])
printf("\n")
for (i = 0; i <= INDEX; i++) printf("%s\t",H[i])
printf("\n")
for (i = 0; i <= INDEX; i++) printf("%s\t",OH[i])
printf("\n")
for (i = 0; i <= INDEX; i++) printf("%s\t",AM[i])
printf("\n")
}

Некоторые примечания:

  1. Первая строка (#! / Usr / bin / awk) должна указывать на расположение awk на вашем компьютере (попробуйте , где awk в командной строке)
  2. В последнем блоке \ t вставляет табуляцию между полями. Вы можете заменить его на \ t \ t для 2 вкладок, запятую 'или просто пробел' в соответствии с вашими потребностями.
  3. Сохраните этот сценарий и просто выполните: awk -f script.name.awk input.file.inp
0
28.01.2020, 01:00

Теги

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