bash脚本+grep+perl命令



我正在编写一个bash脚本来grep一个文件,然后运行一个perl命令。自从我使用这些命令以来,我就知道它们是有效的,但我似乎无法让它们为bash脚本工作。如果有任何帮助,我将不胜感激。

当我输出$1等时,它有值,但当我输出grep命令时,里面有值。我会发现找不到文件或有空格。

#! /bin/bash
usage()
{
echo "Usage:  $0"
echo $'a'Supply 4 arguments
echo $0 arg1 arg2 arg3 arg4
echo "1. search parameters for bookmarks"
echo "2. What file to grep" 
echo "3. file to temporaly store results" 
echo "4. what file to store the final version"
exit 1
}
 main()
{
#   if [ "$#" -lt "4" ]
#   then
#       usage
#   else
echo "beginning grep"
grep -ir "$1" "$2" >> "$3"
echo "grep complete"
#   echo "beginning perl command"
#   perl -0ne 'print "$2n$1n" while (/a href="(.*?)">(.*?)</a>/igs)' "$3" >> "$4"
#   echo "perl command complete"
#   echo "done"
#   exit 1
#   fi
}
main
echo $0
echo $1
echo $2
echo $3
echo $4
请记住,当调用bash函数时,位置参数会临时替换为函数的参数。因此,要么不要将主线作为函数,要么将输入参数传递给main函数。要将脚本的参数传递给main函数,请执行以下操作:
main "$@"

最新更新