cat
を使用してファイルの最初の行を読み取るにはどうすればよいですか?
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
のように、headを直接使用することをお勧めします。
これは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]}
:)
以下のコマンドを使用して、CSVファイルから最初の行を取得します
head -1 FileName.csv