head -z
スクリプトが必要です(トピックから離れていますが、動機を見つけることができます)。この質問には)が、私のCoreOS 835.13.0ではhead: invalid option -- 'z'
。
フルhead --help
出力:
Usage: head [OPTION]... [FILE]...
Print the first 10 lines of each FILE to standard output.
With more than one FILE, precede each with a header giving the file name.
With no FILE, or when FILE is -, read standard input.
Mandatory arguments to long options are mandatory for short options too.
-c, --bytes=[-]K print the first K bytes of each file;
with the leading '-', print all but the last
K bytes of each file
-n, --lines=[-]K print the first K lines instead of the first 10;
with the leading '-', print all but the last
K lines of each file
-q, --quiet, --silent never print headers giving file names
-v, --verbose always print headers giving file names
--help display this help and exit
--version output version information and exit
K may have a multiplier suffix:
b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,
GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.
GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
Report head translation bugs to <http://translationproject.org/team/>
For complete documentation, run: info coreutils 'head invocation'
興味深いことに、最後の行には違うと言われていますが、info coreutils 'head invocation'
私はその言葉を理解していますinfo: command not found
。
答え1
ヘッドの前後にNULとNLを入れ替えます。
<file tr '\0\n' '\n\0' | head | tr '\n\0' '\0\n'
最新バージョンのGNUを使用してくださいsed
。
sed -z 10q
GNUの使用awk
:
gawk -v RS='\0' -v ORS='\0' '{print}; NR == 10 {exit}'