Я использую приведенную ниже команду, чтобы получить первое слово файла
awk '{print $1}' myFile
, но оно печатает первое слово всех строк
awk
выполнит команды (кроме BEGIN
/ END
блоки, и т.д.) на каждой строке. Так... выходят после обработки первой строки:
awk '{print $1; exit}' /some/file
Или квалифицируют для включения только первой строки:
awk 'FNR == 1 {print $1}' /some/file #still runs the test on all lines
Можно использовать sed
:
sed -nr '1s/^([^ ]+).*/\1/p' file.txt
1
в начале шаблона замены указывает, что мы работаем только над первой строкой файла
[^ ]+
, найдет, что первое пространство разделило слово, мы помещаем его в группу так, чтобы мы могли обратиться к нему позже в шаблоне замены
s/^([^ ]+).*/\1/
, заменит первую строку только первым Word
dpkg -i tar_1.28-2.1ubuntu0.1_amd64.deb
:dpkg: warning: 'tar' not found in PATH or not executable dpkg: error: 1 expected program not found in PATH or not executable Note: root's PATH should usually contain /usr/local/sbin, /usr/
– Makhlouf GHARBI 4 December 2016 в 19:52