我使用Defraggler对 100 GB C:\ 驱动器上的可用空间进行碎片整理,该驱动器已满 85 GB。碎片整理后,驱动器显示只有 75 GB 已满。10 GB 的可用空间是如何神奇地出现的?我丢失了任何数据吗?
我在整理碎片之前进行了磁盘清理,我的垃圾只有大约 11 MB,所以不可能是因为清理了临时文件。请注意,我对“可用空间”进行了碎片整理,这意味着它应该将空块重新排列为连续的。
通常,我们只需要传递一个参数:
echo abc | cat
echo abc | cat some_file -
echo abc | cat - some_file
Run Code Online (Sandbox Code Playgroud)
有没有办法传递两个参数?就像是
{echo abc , echo xyz} | cat
cat `echo abc` `echo xyz`
Run Code Online (Sandbox Code Playgroud)
我可以先将两个结果存储在一个文件中
echo abc > file1
echo xyz > file2
cat file1 file2
Run Code Online (Sandbox Code Playgroud)
但是我可能会不小心覆盖一个文件,这是不行的。这是进入一个非交互式脚本。基本上,我需要一种方法来将两个任意命令的结果传递给cat
而不写入文件。
更新:抱歉,该示例掩盖了问题。虽然{ echo abc ; echo xyz ; } | cat
似乎确实有效,但输出是由于echo
s 而不是cat
.
一个更好的例子是{ cut -f2 -d, file1; cut -f1 -d, file2; } | paste -d,
它不能按预期工作。
和
file1:
a,b …
Run Code Online (Sandbox Code Playgroud) bash shell-script pipe command-line-arguments bash-scripting
当您通过管道less
传输某些内容时,程序通常会丢弃颜色代码,因为它不会输出到 TTY。因此,您必须添加--color=always
选项才能使其工作。
ls -l --color=always | less
grep -R asdf --color=always | less
Run Code Online (Sandbox Code Playgroud)
更糟糕的是,有时甚至不支持该选项,因此实际上无法强制将颜色输出到管道。
有没有(相对)简单的方法来减少对 TTY 的模拟,这样我就不必--color=always
在通过管道传输到每个程序时指定每个程序,并且它会在可能的情况下自动显示颜色输出?