получить первое появление целого числа в текстовом файле

Из справочной страницы bash:

/ etc / profile Общесистемный файл инициализации, выполняемый для оболочек входа

/ etc / bash .bashrc Общесистемный файл запуска интерактивной оболочки

~ / .bash_profile Файл персональной инициализации, выполняемый для оболочек входа

~ / .bashrc отдельный файл запуска для интерактивной оболочки

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

1
09.12.2016, 19:08
3 ответа

Используйте egrep -m1, я полагаю, вы используете GNU Grep, поэтому у него есть опция -m.

1
27.01.2020, 23:19

Чтобы извлечь первое целое число из файла, даже если в строке встречается более одного:

egrep -m1 -o '[0-9]+' /path/to/inputfile | head -n1

Если только одно целое число появится в любой данной строке , труба в головку лишняя.

Если вы ищете, как вы редактировали свой вопрос, чтобы подразумевать, для каждого уникального вхождения «Идентификатор файла:»:

egrep '^FILE ID: [0-9]+' /path/to/inputfile | sort | uniq

Чтобы получить только уникальные числовые идентификаторы, способ Руба Голдберга может быть следующим:

egrep '^File Id:  [0-9]+' /path/to/inputfile | sort | uniq | egrep -o '[0-9]+'
2
27.01.2020, 23:19
#!/bin/bash
mtp-files > test_list.txt
echo "Hello World"
#retrieve only the first ID value
ID=$(awk '/File ID:/{print $NF;exit}' test_list.txt) 
echo $ID
1
27.01.2020, 23:19

Теги

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