Как прочитать первую строку с помощью cat


Как прочитать первую строку файла с помощью cat?

9 126

9 ответов:

не нужно cat. head -1 file будет работать нормально.

вы этого не сделаете, используйте head вместо.

head -n 1 file.txt

есть много разных способов:

sed -n 1p file
head -n 1 file
awk 'NR==1' file

вы могли бы использовать cat file.txt | head -1, но, вероятно, было бы лучше использовать голову напрямую, как в head -1 file.txt.

Это может быть невозможно с cat. Есть ли причина, по которой вы должны использовать cat?

Если вам просто нужно сделать это с помощью команды bash, это должно работать для вас:

head -n 1 file.txt

cat в одиночку может быть невозможно, но если вы не хотите использовать head это работает:

 cat <file> | awk 'NR == 1'

Я удивлен, что этот вопрос существует так долго, как он есть, и никто еще не предоставил встроенный подход к pre-mapfile.

IFS= read -r first_line <file

...помещает первую строку файла в переменную, развернутую на "$first_line", вот так просто.

более того, потому что read встроен в bash, и это использование не требует подрешетки, это значительно более эффективно, чем подходы, включающие подпроцессы, такие как head или awk.

вам не нужна никакая внешняя команда, если у вас есть bash v4+

< file.txt mapfile -n1 && echo ${MAPFILE[0]}

или, если вы действительно хотите cat

cat file.txt | mapfile -n1 && echo ${MAPFILE[0]}

:)

используйте следующую команду, чтобы получить первую строку из CSVfile

head -1 FileName.csv