Скрипт оболочки UNIX: слияние данных (строки) из 2 разных текстовых файлов

В структуре / etc / fstab файл, вы можете запрашивать проверку файловой системы при каждой загрузке системы - пример:

/dev/sda1       /       ext4      errors=remount-ro,relatime      0       1
/dev/sda2       swap    swap      defaults        0       0
proc            /proc   proc      defaults        0       0
sysfs           /sys    sysfs     defaults        0       0
devtmpfs        /dev    devtmpfs  rw              0       0

Последний столбец (6-й) указывает, в каком порядке вы хотите проверять файловые системы во время загрузки. . 0 означает отсутствие проверки, 1 - первая проверка, 2 - вторая, ... Файловая система с одинаковым номером прохода проверяется параллельно.

Для информации и полноты:

  • Первый столбец: устройство файловой системы
  • Второй столбец: где смонтировать файловую систему
  • Третий столбец: тип файловой системы
  • Четвертый столбец: параметры, переданные в mount при монтировании файловой системы
  • Пятый столбец: нужно ли включать файловую систему (1) или нет (0) командой dump
  • Шестой столбец: Прохождение автоматической проверки файловой системы при загрузке, 0 означает отсутствие проверки.

Если проверка файловой системы вернет фатальную ошибку во время загрузки, вам будет предложено войти в режим восстановления файловой системы (в основном текстовая консоль однопользовательского режима).

1
19.01.2019, 20:29
3 ответа

Вы можете использовать команду paste-, например, чтобы объединить строку файлов -на строку -с двоеточием-разделителем:

$ paste -d: file2.txt file1.txt
Fnb_dm__exachange_rollback_character:Start Date: 2019-01-08 04:14:59; End Date: 2019-01-08 04:15:50; Difference in seconds = 51
dnb_exchange_brm_rollback_character:Start Date: 2019-01-08 04:16:57; End Date: 2019-01-08 04:17:02; Difference in seconds = 5

Если вам нужен многосимвольный разделитель -, то это возможно с помощью prнапр.

$ pr -TmJS' :' file2.txt file1.txt
Fnb_dm__exachange_rollback_character :Start Date: 2019-01-08 04:14:59; End Date: 2019-01-08 04:15:50; Difference in seconds = 51
dnb_exchange_brm_rollback_character :Start Date: 2019-01-08 04:16:57; End Date: 2019-01-08 04:17:02; Difference in seconds = 5
3
27.01.2020, 23:23

Я сделал описанным ниже способом, и он работал нормально

i=`awk 'NR==1{print $0}' file1`;awk -v i="$i" 'NR==1{$0=$0i}1' file2

выход

Fnb_dm__exachange_rollback_characterStart Date: 2019-01-08 04:14:59; End Date: 2019-01-08 04:15:50; Difference in seconds = 51
dnb_exchange_brm_rollback_character
0
27.01.2020, 23:23

Я сделал описанным ниже способом, и он работал нормально

for i in 1 2; do j=`sed -n ''$i'p' file1`;sed -n ''$i'p' file2|sed "s/.*/&$j/g"; done

выход

Fnb_dm__exachange_rollback_characterStart Date: 2019-01-08 04:14:59; End Date: 2019-01-08 04:15:50; Difference in seconds = 51
dnb_exchange_brm_rollback_characterStart Date: 2019-01-08 04:16:57; End Date: 2019-01-08 04:17:02; Difference in seconds = 5
0
27.01.2020, 23:23

Теги

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