比方说,我有一个像这样的输入文本文件(sample_simple.txt):
3 1 10 1 6
9 4 2 4 1
9 2 2 2 1
Run Code Online (Sandbox Code Playgroud)
通过使用命令:awk '$0=$1" "$1*$2" "$3*$4' sample_simple.txt
,我得到以下输出:
3 3 10
9 36 8
9 18 4
Run Code Online (Sandbox Code Playgroud)
然后使用命令:awk '$1*$2" "$3*$4' sample_simple.txt
,输入文件没有任何变化:
3 1 10 1 6
9 4 2 4 1
9 2 2 2 1
Run Code Online (Sandbox Code Playgroud)
命令之间的唯一变化是'$0=$1'
,谁能解释一下?
尽管人们可以轻松地制作一个名为./42
甚至的可执行文件./????
,但我发现没有包含无字母命令的常见软件包。例如,在 Ubuntu 上,apt-file find . | grep -i -e '/[^a-z/_\-]+$'
报告每个可执行文件的基本名称至少有一个字母、下划线或破折号。唯一的自由字母的文件或迪尔斯,我发现是不可执行的,通常版本号:docbook/dtd/xml/4.1.2
,/usr/include/c++/4.8.2
,等。
是否有任何已发布的规则或标准限制了命令的命名方式?或者这仅仅是文化实践?