Linux:正则表达式执行之间的延迟? /读取目录中的每个文件?

时间:2013-06-13 16:19:54

标签: linux bash unix

我在linux机器上有一个目录,里面有数百个文件。它们是相对较短的文件,可以在一两秒内在命令行中轻松显示和读取。有没有办法以自动方式将所有文件打印到命令行,类似于键入“cat *”但每次打印之间有一到两秒的延迟,以便我可以读取每个文件? 我尝试用:

创建一个bash脚本
cat $1 
sleep 2

然后调用“bash script.sh *”但它只打印其中一个文件然后停止。 有什么建议吗?

4 个答案:

答案 0 :(得分:3)

在脚本中使用循环:

#!/usr/bin/env bash

for f
do
  cat "$f"
 sleep 2 
done

答案 1 :(得分:0)

在你的shell提示符中(如果它是sh - 兼容 - 最有可能):

for i in *; do
   cat $i
   sleep 2
done
或许?循环遍历所有文件(*)和cat。对于这么简单的事情,你真的不需要单独的shell脚本。

答案 2 :(得分:0)

while [ -e "$1" ]
do
  cat "$1"
  shift 1
  sleep 2
done

答案 3 :(得分:0)

for i in $(find /path/to/files -type f -name \*.\*); do
  cat $i;
  sleep 2;
done

这应该可以正常工作:

find /path/to/files -type f

如果您希望关注某个特定扩展名,请尝试以下内容:

find /path/to/files -type f -name \*.cfg

而不是循环,你可以在find

中完成所有操作
find /path/to/files -type f -name \*.cfg  -print -exec cat {} \; -exec sleep 2 \;

编辑添加Kevin并不是他的头脑我评论说cat *可能无法在包含大量文件的大文件夹中工作,并且他回复了我在撰写评论时删除的评论:)