Из вашего вопроса я понял, что вы хотели бы использовать код для чтения ключевого слова user
в r.txt
, а затем искать это ключевое слово в s.txt
. Наконец, выведите строку, относящуюся к этому ключевому слову (, и три предыдущие строки )in s.txt
. Вы можете записать эти строки в файл с именем"code"
:
#!/bin/bash
if [[ `egrep user9 r.txt` ]] ; then
grep -B 3 user9 s.txt
fi
Предоставьте этому файлу "code"
разрешения, затем запустите его в терминале следующим образом:
code > add.ldif
Вывод:
dn: cn=task,cn=Groups,dc=domain
changetype: modify
add: uniquemember
uniquemember: cn=user9,cn=users,dc=domain
Допустим, у вас есть две записи для user9
в s.txt
следующим образом:
dn: cn=task,cn=Groups,dc=domain
changetype: modify
add: uniquemember
uniquemember: cn=user1,cn=users,dc=domain
dn: cn=task,cn=Groups,dc=domain
changetype: modify
add: uniquemember
uniquemember: cn=user9,cn=users,dc=domain
dn: cn=task,cn=Groups,dc=domain
changetype: modify
add: uniquemember
uniquemember: cn=user18,cn=users,dc=domain
dn: cn=XXX,cn=XXX,dc=XXX
changetype: XXX
add: XXX
uniquemember: cn=user9,cn=users,dc=domain
Предыдущий код найдет две записи для user9:
dn: cn=task,cn=Groups,dc=domain
changetype: modify
add: uniquemember
uniquemember: cn=user9,cn=users,dc=domain
--
dn: cn=XXX,cn=XXX,dc=XXX
changetype: XXX
add: XXX
uniquemember: cn=user9,cn=users,dc=domain
Это только сейчас начало работать, и я ничего не делал (почти сдался ). Возможно, я никогда не узнаю, чем это вызвано.
Спасибо всем, кто ответил.