在shell脚本中获取变量计数时出现问题

在shell脚本中获取变量计数时出现问题,shell,unix,Shell,Unix,我面临以下命令的问题。当我在ruuning时,它是shell,它给出输出 count=`head -92 czh_script_178.log | tail -1 | sed 's/ //'` 但当我在shell脚本中使用它时,退出0失败 有谁能帮忙吗。 我正在使用SunOS。看起来您希望第92行没有一些缩进。以下是如何做到这一点: count="$(sed -n '92s/^[[:space:]]*//p' /absolute/path/to/czh_script_178.log)"

我面临以下命令的问题。当我在ruuning时,它是shell,它给出输出

 count=`head -92 czh_script_178.log | tail -1 | sed 's/    //'`
但当我在shell脚本中使用它时,退出0失败

有谁能帮忙吗。
我正在使用SunOS。

看起来您希望第92行没有一些缩进。以下是如何做到这一点:

count="$(sed -n '92s/^[[:space:]]*//p' /absolute/path/to/czh_script_178.log)"

如果脚本中的路径不是绝对路径,它将失败,除非
$PWD
与日志文件的目录相同。

退出0
不是错误,这是成功的案例。错误消息是什么?#/bin/ksh COMMON_DIR=/ap02p/cfdw/data_files LOG_DIR=$COMMON_DIR/LOG_DIR LOG_FILE=$LOG_DIR/script_178.LOG pattern_no=
grep-n”查询1:“$LOG_FILE | cut-f1-d':”
echo“pattern_no=$pattern_no”count 1=`expr$pattern_no+6`echo“count=$count”record_count=
head-$count_1 script_178.log | tail-1 | sed's//'
echo$record_count请将代码放在问题中,而不是注释中。
。。。退出0失败--这意味着成功。退出代码
0
表示
成功
,非零退出代码表示失败!我试图使用这个:sed-n'92{s/^\s*/;p}'czh_script_178.log,但出现以下错误:sed:command-garbled:92{s/^\s*/;p}您可能使用的是一个古老的或非标准的
sed
sed--version
打印什么?检查version:sed:invalize option--version SunOS 5.10时出现以下错误上次更改:1998年7月23日我从man Grept获得此信息脚本可以大大简化
sed-n'92s/^[:space:][]*//p'文件
基本上应该在任何地方都能工作(著名的最后一句话,
[:space:][]
是POSIX,因此如果您从1977年开始使用僵尸CP/M,您可能也不会使用它)。