小编agc*_*agc的帖子

如何在目录中查找所有零字节文件

如何在目录甚至子目录中查找所有零字节文件?

我这样做了:

#!/bin/bash
lns=`vdir -R *.* $dir| awk '{print $8"\t"$5}'`
temp=""
for file in $lns ; do
    if test $file = "0" ;then
        printf $temp"\t"$file"\n"
    fi
    temp=$file
done
Run Code Online (Sandbox Code Playgroud)

...但我只有该目录中的文件,而不是所有文件,如果任何文件名有空格,我只会得到第一个单词后跟一个制表符。

谁能帮我?

linux shell-script

7
推荐指数
1
解决办法
2万
查看次数

stdbuf 不起作用,而 unbuffer 起作用

我正在尝试将时间戳应用于进程的标准输出。为了应用正确的时间戳,我尝试对过程进行unbuffer 标准输出。这适用于unbuffer但不符合stdbuf我的预期。考虑以下慢速打印脚本“ slowprint ”:

#!/bin/bash

if [ $# -ne 2 ]; then
   echo "usage: ${0%%/*} <file> <delay in microseconds>"
   exit 1
fi

DELAY=$2 perl -pe 'BEGIN{use Time::HiRes qw(usleep)} { usleep($ENV{DELAY}) }' $
Run Code Online (Sandbox Code Playgroud)

现在比较以下应用时间戳的尝试:

stdbuf -oL ./slowprint <(ls) 100000 | 
awk '{ print strftime("%H:%M:%S"), $0; fflush(); }'
Run Code Online (Sandbox Code Playgroud)

对比

unbuffer ./slowprint <(ls) 100000 | 
awk '{ print strftime("%H:%M:%S"), $0; fflush(); }' 
Run Code Online (Sandbox Code Playgroud)

第二个对我有用,而第一个没有,尽管我希望他们做同样的事情。目前unbuffer不合适,因为它在某些情况下会吞下错误代码(我发布了一个关于该行为的单独问题)。

linux bash awk buffer

7
推荐指数
1
解决办法
1862
查看次数

快速组合 tar.gz 文件的最佳方式

我正在寻找一种快速组合多个tar.gz文件的方法。

用例是客户端单击下载按钮并继续将tar.gz文件交付给他们。在我们的应用程序的GUI 中,有一个配置选项可以向出站下载添加附加信息。如果选择此选项,我将需要将其他tar.gz文件合并到出站下载中。

我在这里处理大量数据。额外的tar.gz文件在解压缩时超过一 GB。此外,始终交付的默认tar.gz文件解压缩时可能超过 10 GB,其中可以包含 100 多个文件。由于我使用的数据量很大,它以压缩格式 ( tar.gz )存储在磁盘上。

我希望在Bash Script 或Java 中实现这种机制。

linux compression java bash tar

4
推荐指数
1
解决办法
7736
查看次数

我的硬盘是否因为 SMART 参数(重新分配的扇区数)非常高(390K)而失败

我有一个 2 岁的 500GB HGST 5400rpm 笔记本电脑硬盘。我前段时间开始跟踪它的SMART参数,重新分配的扇区数(十进制)从2015年11月的65k增加到2016年5月的393264个。参考下面的链接查看这个参数的历史。

重新分配扇区的历史

我的硬盘工作正常,但我真的很担心,由于重新分配的扇区数量增加,它可能有一天会意外失败。我应该担心吗?

SMART参数截图

hard-drive smart bad-sectors

3
推荐指数
1
解决办法
8885
查看次数

标签 统计

linux ×3

bash ×2

awk ×1

bad-sectors ×1

buffer ×1

compression ×1

hard-drive ×1

java ×1

shell-script ×1

smart ×1

tar ×1