我有以下格式的文本文件:使用bash腳本閱讀分隔的文件,並替換變量與外殼
78 45 89 45
我想讀前兩個變量(在這裏,78和45),執行一些計算並用計算出的新變量替換這些值。
有人可以指出這一點?
我有以下格式的文本文件:使用bash腳本閱讀分隔的文件,並替換變量與外殼
78 45 89 45
我想讀前兩個變量(在這裏,78和45),執行一些計算並用計算出的新變量替換這些值。
有人可以指出這一點?
下面是一個例子(編輯:在bash
只),讓你開始,我在其中添加12
的第一個值,並添加22
在每一行的第二個值。
$ cat /tmp/text.file
78 45 89 45
88 55 90 50
$ cat /tmp/comp.sh
while read line; do
a=($line)
a[0]=$((a[0] + 12))
a[1]=$((a[1] + 22))
echo "${a[@]}"
done < /tmp/text.file
$ bash /tmp/comp.sh
90 67 89 45
100 77 90 50
這是POSIX,應該在任何伯恩的遺產殼工作:
while read first second rest; do
first=$((first * 2))
second=$((second + 42))
printf '%s\n' "$first $second $rest"
done < input
也有必要發佈要執行的計算和所需的輸出(參照計算) – amdixon
哪裏是你的預期產出? – anubhava