相关疑难解决方法(0)

如何让 iconv 用转换后的输出替换输入文件?

我有一个 bash 脚本,它枚举目录中的每个 *.php 文件并应用于iconv它。这将在 STDOUT 中获得输出。

由于添加-o参数(根据我的经验)实际上可能在转换发生之前写入一个空白文件,我如何调整我的脚本以进行转换,然后覆盖输入文件?

for file in *.php
do
    iconv -f cp1251 -t utf8 "$file"
done
Run Code Online (Sandbox Code Playgroud)

shell io-redirection text-processing

79
推荐指数
2
解决办法
6万
查看次数

如何在日志文件中保留最后 50 行

我尝试在我的文件中保留最后 50 行,每分钟保存一次温度。我使用了这个命令:

tail -n 50 /home/pi/Documents/test > /home/pi/Documents/test
Run Code Online (Sandbox Code Playgroud)

但结果是空的测试文件。我想,它会列出测试文件的最后 50 行并将其插入到测试文件中。当我使用此命令时:

tail -n 50 /home/pi/Documents/test > /home/pi/Documents/test2
Run Code Online (Sandbox Code Playgroud)

它工作正常。test2 文件中有 50 行。

有人能解释一下问题出在哪里吗?

command-line logs tail

26
推荐指数
4
解决办法
2万
查看次数