Проблемы при объединении многих текстовых файлов с помощью paste

Вы пометили атрибут как рабочий (с USAGE directoryOperation), отсюда и ошибка.

Операционные атрибуты не должны изменяться пользователями; им требуется код, работающий в OpenLDAP, для обновления их в зависимости от какого-либо события.

Кроме того, я бы рекомендовал не изменять стандартные схемы, такие как inetOrgPerson и т. д. Вам следует создать собственную схему.

1
01.11.2016, 05:46
2 ответа

Я подозреваю, что в этих строках есть конечные пробелы, и это толкает их к зацикливанию. Вы пытались сбросить начало файла в восьмеричном/шестнадцатеричном формате, чтобы проверить, так ли это?

Затем вы можете использовать простую команду sed, чтобы исправить все файлы в зацикленном сценарии оболочки, прежде чем вы начнете.

0
28.01.2020, 01:08

Скорее всего, дело в том, что исходные файлы содержат разрывы строк Windows. Команда paste, кажется, работает неправильно с разрывами строк Windows в сочетании с разделителем. Вы можете проверить это, используя odдля файлов. Если он содержит \r\n, вам сначала нужно это исправить. Исправить это можно с помощью dos2unix.

Проверка моей системы:

[stc@se] $ echo -e "foo\r" > a ; echo -e "bar\r" > b
[stc@se] $ od -c a
0000000   f   o   o  \r  \n
0000005
[stc@se] $ paste a b
foo     bar
[stc@se] $ paste -d"," a b
,bar

Исправление с помощьюdos2unix:

[stc@se] $ dos2unix a b
dos2unix: converting file a to Unix format...
dos2unix: converting file b to Unix format...
[stc@se] $ paste -d"," a b
foo,bar

dos2unixне установлен по умолчанию во всех системах Linux, поэтому вам все равно может потребоваться его установка.

0
17.06.2020, 11:53

Теги

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