我试图了解原因wc并stat报告不同的事情/proc/[pid]/cmdline。
wc说我的 shellcmdline文件大小为 6 个字节:
$ wc --bytes /proc/$$/cmdline
6 /proc/10425/cmdline
Run Code Online (Sandbox Code Playgroud)
stat表示文件大小为 0 字节:
$ stat --format='%s' /proc/$$/cmdline
0
Run Code Online (Sandbox Code Playgroud)
file同意stat:
$ file /proc/$$/cmdline
/proc/10425/cmdline: empty
Run Code Online (Sandbox Code Playgroud)
cat给出这个输出:
$ cat -vE /proc/$$/cmdline
-bash^@
Run Code Online (Sandbox Code Playgroud)
所有这些都在 Linux 上进行,而不是在任何其他 *nix 操作系统上进行。
stat和程序是否wc有不同的算法来计算文件中的字节数?
我有一个如下所示的文件:
some
arbitrary number of
leading
lines
a prefix followed by wmd v0.0.0-20220406135915-ce5e3ee6c6bf
some
trailing
lines
Run Code Online (Sandbox Code Playgroud)
这只是文件外观的一个示例。对于我感兴趣的产品线,不变的部分是:
wmd v0.0.0-, 其次是如何编写一个sed命令,允许我用20220406135915-ce5e3ee6c6bfshell 变量中的值替换该部分new_text?
换句话说,如果new_text有值99999999999999-aaaaaaaaaaaa,我想找到将产生以下输出的命令<whatever goes here>部分:sed
$ sed -e "s/wmd v0.0.0-<whatever goes here>/wmd v0.0.0-$new_text/" my-file.txt
some
arbitrary number of
leading
lines
a prefix followed by wmd v0.0.0-99999999999999-aaaaaaaaaaaa
some
trailing
lines
Run Code Online (Sandbox Code Playgroud)