簡體   English   中英

Shell腳本將pipline變量化

[英]shell scripting pipline to a variable

我有以下幾點:

FILENAME=$1
cat $FILENAME | while read LINE
do
       response="$LINE" | cut -c1-14
       request="$LINE" | cut -c15-31
       difference=($response - $request)/1000
       echo "$difference"
done

當我運行此腳本時,它將返回空白行。 我究竟做錯了什么?

在awk中可能會更簡單:

awk '{print ($1 - $2)/1000}' "$1"

我假設前14個字符和接下來的17個字符是前兩個用空格分隔的字段。

您需要將其更改為:

response=`echo $LINE | cut -c1-14`
request=`echo $LINE | cut -c15-31`
difference=`expr $response - $request`
val=`expr $difference/1000`

您基本上做錯了一切;)這應該更好:

FILENAME="$1"
cat "$FILENAME" | while read LINE
do
       response=$(echo "$LINE" | cut -c1-14) # or cut -c1-14 <<< "$line"
       request=$(echo "$LINE" | cut -c15-31)
       difference=$((($response - $request)/1000)
       echo "$difference"
done

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM