파일에는 특정 구조가 있습니다.
------------------------------
| 1 123.456 789.1011 T |
| 2 789.123 234.1234 T |
------------------------------
All true
저 할 수 있어요
grep -s -B 3 "All true" file.out | head -n 2
관련 행만 가져오기
| 1 123.456 789.1011 T |
| 2 789.123 234.1234 T |
이제 변수의 첫 번째 숫자( 123.456
sum 789.123
)를 계속 가져오면서 일부 값을 곱하려면 어떻게 해야 합니까?x
n
grep 라인 등의 '번째 매개변수를 얻는 방법이 있나요 ?
답변1
짧은grep+앗방법:
예를 들어 승수는 다음과 같습니다 3
.
grep -sB 3 "All true" file.out | awk -v x=3 '$1=="|"{ print $3*x }'
산출:
370.368
2367.37
-v x=3
- 승수를x
변수로 전달합니다.앗스크립트
답변2
@Philippos 덕분에 답변을 얻을 수 있었습니다.
number=$(grep -s -B 3 "All true" file.out | head -n 2 | cut -d' ' -f6 )
for i in ${number}
do
echo "$i*$x" | bc -l
done