Как считать сначала четыре символа имени файла?

У меня есть несколько файлов, расширения которых являются .gz с подобными именами файлов к:

ANKR00TUR_R_20183350000_01D_30S_MO.crx.gz

Я должен считать первые четыре символа имен этих файлов и сохранить эти символы в файле. Как я могу сделать это?

0
задан 7 January 2019 в 05:31

2 ответа

Здесь код для взятия сначала четырех символов имен файлов;

filename=ANKR00TUR_R_20183350000_01D_30S_MO.crx.gz
tmp=${filename:0:4}
echo $tmp

Результат:

echo "$tmp"

ANKR

Источник

Для списка

    for file in ./*.gz
    do
       echo "${file:2:4}" | tee -a list.txt
    done

предыдущий для цикла распечатает на экране результат и также добавит к list.txt

Источник из документации относительно Проекта документации Linux (TLDP)

Улучшение обновления кода на основе @steeldriver предложения в комментарии.

3
ответ дан 26 October 2019 в 14:44

Выбирать первые байты N строки, cut может использоваться:

echo ANKR00TUR_R_20183350000_01D_30S_MO.crx.gz | cut --bytes=1-4 > output

Это извлечет первые 4 байта из данной строки и сохранит ее в файле output.

Для применения вышеупомянутого кода к нескольким именам файлов использовать

ls *.gz | cut --bytes=1-4 > output
2
ответ дан 26 October 2019 в 14:44

Другие вопросы по тегам:

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