Подтвердить что ты не робот

Прочитайте первые 8 символов текстового файла с помощью bash

Я хотел бы прочитать только первые 8 символов текстового файла и сохранить его в переменной в bash. Есть ли способ сделать это, используя только bash?

4b9b3361

Ответ 1

Вы можете запросить head для чтения нескольких байтов. Для вашего конкретного случая:

$ head -c 8 <file>

Или в переменной:

foo=$(head -c 8 <file>)

Ответ 2

в bash

help read

вы увидите, что вы можете:

read -r -n 8 variable < .the/file

Если вы хотите прочитать первые 8, независимо от разделителей,

IFS= read -r -n 8 variable < .the/file

Но не используйте

.... | while IFS= read -r -n 8 variable

как, в bash, части после "|" выполняются в подоболочке: "переменная" будет только изменена в этой подоболочке, и это новое значение потеряно при сохранении в текущей оболочке.

Ответ 3

Вы можете использовать массив в bash и выбирать только первые символы. Advanced bash В руководстве по разработке сценариев есть примеры использования массивов.