我的上一个bash脚本已经很久了。 我只是试图从start变量提取文件的内容到stop。 我的源文件是night4.info,它包含一个.jpg文件列表。该文件的结构类似于:
./2014-11-02/18h/00mn/2014-11-02T18-00-00.048000-depth.jpg
./2014-11-02/18h/00mn/2014-11-02T18-00-00.182000-depth.jpg
./2014-11-02/18h/00mn/2014-11-02T18-00-00.316000-depth.jpg
这是到目前为止的代码:
#! /bin/bash
start=$(grep -n $1 night4.info | cut -d : -f 1)
stop=$(grep -n $2 night4.info | cut -d : -f 1)
echo "1" >> list.info
sed -n -e "$start,$stop p" night4.info >> list.info
这就是我运行脚本的方式:
./script1.sh 2014-11-02T18-00-00.048000 2014-11-03T06-59-59.981000
没有错误消息,代码没有给出正确的输出。
答案 0 :(得分:1)
您可以使用带有范围运算符的Perl单行程序:
perl -ne "print if /\Q$1\E/../\Q$2\E/" night4.info >> list.info