web-dev-qa-db-ja.com

catを使用して最初の行を読む方法

catを使用してファイルの最初の行を読み取るにはどうすればよいですか?

153
Doboy

catは必要ありません。 head -1 fileは正常に機能します。

299
Carl Norum

代わりにheadを使用してください。

head -n 1 file.txt
64
Orbling

さまざまな方法があります。

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

cat file.txt | head -1を使用することもできますが、おそらくhead -1 file.txtのように、headを直接使用することをお勧めします。

17
Mike Pelley

これはcatでは不可能な場合があります。 catを使用する必要がある理由はありますか?

単にbashコマンドでそれを行う必要がある場合、これはあなたのために働くはずです:

head -n 1 file.txt
15
mwcz

catだけでは不可能な場合がありますが、headを使用したくない場合、これは機能します。

 cat <file> | awk 'NR == 1'
9
josh.trow

私はこの質問が今まで存在していたことに驚いています。そして、まだpre-mapfile組み込みアプローチを提供している人はいません。

IFS= read -r first_line <file

...ファイルの最初の行を"$first_line"で展開された変数に入れます。簡単です。

さらに、readはbashに組み込まれており、この使用にはサブシェルが必要ないため、headawkなどのサブプロセスを使用するアプローチよりもはるかに効率的です。

5
Charles Duffy

Bash v4 +を使用している場合、外部コマンドは必要ありません

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

または本当にcatが必要な場合

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

:)

3
jm666

以下のコマンドを使用して、CSVファイルから最初の行を取得します

head -1 FileName.csv

2