Я полагаю, глупо называть «бесполезное использование кошки» на линии, специально предназначенной для этого cat, не так ли.
jkerian
Этот метод хорош, потому что вы можете выбрать любую нужную вам строку.
Desgua
3
@desgua awkэто здорово, но тебе catздесь не нужно . awk 'NR == 2 {print $0}' <file>делает то же самое. (И многое другое, если вы узнаете немного awk.
Эрик Уилсон
5
Я удивлен тем, что этот вопрос существует уже давно, и никто еще не предоставил встроенный подход к pre-mapfile.
IFS= read -r first_line <file
... помещает первую строку файла в переменную, развернутую "$first_line", просто так.
Более того, поскольку readон встроен в bash и такое использование не требует подоболочек, он значительно более эффективен, чем подходы, включающие такие подпроцессы, как headили awk.
head
весь файл и вырезает его, или он читает только 1 строку?cat <(head file1) <(head file2)
, ИсточникВы не используете
head
вместо этого.источник
Есть много разных способов:
источник
Вы можете использовать
cat file.txt | head -1
, но было бы лучше использовать голову напрямую, как вhead -1 file.txt
.источник
Это может быть невозможно с
cat
. Есть ли причина, которую вы должны использоватьcat
?Если вам просто нужно сделать это с помощью команды bash, это должно работать для вас:
источник
cat
само по себе может быть невозможно, но если вы не хотите использоватьhead
это работает:источник
cat
, не так ли.awk
это здорово, но тебеcat
здесь не нужно .awk 'NR == 2 {print $0}' <file>
делает то же самое. (И многое другое, если вы узнаете немногоawk
.Я удивлен тем, что этот вопрос существует уже давно, и никто еще не предоставил встроенный подход к pre-mapfile.
... помещает первую строку файла в переменную, развернутую
"$first_line"
, просто так.Более того, поскольку
read
он встроен в bash и такое использование не требует подоболочек, он значительно более эффективен, чем подходы, включающие такие подпроцессы, какhead
илиawk
.источник
IFS=
роль в начале?IFS
предотвращает удаление начальных и конечных пробелов из прочитанной строки.Вам не нужна никакая внешняя команда, если у вас есть bash v4 +
или если вы действительно хотите
cat
:)
источник
Используйте приведенную ниже команду, чтобы получить первую строку из файла CSV или любых форматов файлов.
источник