为什么当我输入此命令时,提示会更改为我的目录?
PS1='$(pwd)'
Run Code Online (Sandbox Code Playgroud)
我使用的是单引号,这意味着没有插值,也就是echo '$(pwd)'
——?$(pwd)
此外,假设我们澄清了为什么这会起作用……为什么它的功能与PS1=$(pwd)
? (根本没有引号)
不同的是,我的意思是,如果我使用引号,那么当我浏览终端时,提示将不断更改为我的当前目录。但是如果我不使用引号,那么提示将始终保持我第一次输入命令时所在的目录PS1=$(pwd)
为什么?
我尝试导出到 http_proxy 和 https_proxy 中,但这似乎不起作用。
我猜在从命令行查询 whois 信息时,还有另一种使用代理的方法吗?
然而,尝试并行化 sed 操作,当并行版本工作时,它会返回错误的输出。
我想并行化的 sed 操作(有效)
sed 's/\s.*$// ; s/\(.*\)/\L\1/' < oldfile.txt > newfile.txt
Run Code Online (Sandbox Code Playgroud)
我的上述 sed 操作的并行版本(由于某种原因无法正常工作):
parallel -a oldfile.txt -k --block $BYTES --pipe-part "sed 's/\s.*$// ; s/\(.*\)/\L\1/'" > newfile.txt
Run Code Online (Sandbox Code Playgroud) head
/tail
将需要迭代几乎整个文件(取决于您作为参数提供的行的位置)。然后将该结果复制到新文件并删除旧文件。
我不确定是否sed
会迭代整个文件,但您需要将该结果复制到一个新文件并删除旧文件。即使-i
(就地)它也会在后台创建一个临时文件,所以同样的事情也适用。
为什么不将指向文件第一行的指针移动到我们想要的行呢?
我们怎么能做这样的事情?我必须在 C 中做吗?还有其他方法吗?
那有意义吗 ??我想错了吗?如果是,为什么?