Coreutils當我沒有可用的
當我沒有可用的 -z
選項時,如何執行等效的 head -z
?
我需要
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
.
在 head 前後交換 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}'