100行のテキストを含むファイルがあり、最初の20行だけを印刷するだけです。
切り取りコマンドのみを使用して印刷する方法
答え1
いくつかのcut
実装(GNUとbusyboxを含む)では、次のことができます。
cut -d'
' -f1-20 < your-file
'...'
(引用符の中に改行文字があるように2行になっています。ksh93$'...'
スタイルの引用符をサポートするシェルの場合は、代わりに使用できます。-d$'\n'
)
しかし、これは標準でもなく移植性もありません。
また、文書化されておらず、実装思考のように見えるため、今後のバージョンでは予告なく動作が中断される可能性が高くなります。
少なくともGNUとbusyboxの場合、cut
入力を完全に読み取るため、たとえばyes
出力は完了しません。
作業に適したツールは次のとおりですhead
。
head -n 20 < your-file
以下を使用することもできますがsed
、
sed 20q < your-file
またはawk
:
awk '{print}; NR == 20 {exit}' < your-file