다음 형식으로 85개의 항목이 포함된 거대한 파일을 만들어야 합니다.
user_dept1=$( while read -r x && read -r y <&3; do echo " model: $model_1 user: $x department: $y License_Used: $p_out1"; done < /home/user_files/out1.txt 3</home/dept_files/dep1.txt | ts '%Y-%m-%d %H:%M:%S')
user_dept2=$( while read -r x && read -r y <&3; do echo " model: $model_2 user: $x department: $y License_Used: $p_out2"; done < /home/user_files/out2.txt 3</home/dept_files/dep2.txt | ts '%Y-%m-%d %H:%M:%S')
user_dept85까지 계속됩니다.
user_dept85=$( while read -r x && read -r y <&3; do echo " model: $model_85 user: $x department: $y License_Used: $p_out85"; done < /home/user_files/out85.txt 3</home/dept_files/dep85.txt | ts '%Y-%m-%d %H:%M:%S')
따라서 다음 문자열은 매번 1-85에서 이름이 변경됩니다.
user_dep1 - user_dept85
$model_1 - $model_85
$p_out1 - $p_out85
out1.txt - out85.txt
dep1.txt - dep85.txt
답변1
85줄의 코드만 생성하고 싶나요?
for a in {1..85}
do
echo "user_dept$a=\$( while read -r x && read -r y <&3; do echo \" model: \$model_$a user: \$x department: \$y License_Used: \$p_out$a\"; done < /home/user_files/out$a.txt 3</home/dept_files/dep$a.txt | ts '%Y-%m-%d %H:%M:%S')"
done > resulting_code
비결은 인용문을 준수하는지 확인하는 것입니다. 따라서 $
및 "
" 문자는 다음과 같이 인용되어야 합니다 \$
.\"
결과 출력의 처음 3줄:
user_dept1=$( while read -r x && read -r y <&3; do echo " model: $model_1 user: $x department: $y License_Used: $p_out1"; done < /home/user_files/out1.txt 3</home/dept_files/dep1.txt | ts '%Y-%m-%d %H:%M:%S')
user_dept2=$( while read -r x && read -r y <&3; do echo " model: $model_2 user: $x department: $y License_Used: $p_out2"; done < /home/user_files/out2.txt 3</home/dept_files/dep2.txt | ts '%Y-%m-%d %H:%M:%S')
user_dept3=$( while read -r x && read -r y <&3; do echo " model: $model_3 user: $x department: $y License_Used: $p_out3"; done < /home/user_files/out3.txt 3</home/dept_files/dep3.txt | ts '%Y-%m-%d %H:%M:%S')
답변2
무엇이 당신에게 도움이 될지 잘 모르겠지만 ts
이름으로 번호가 매겨진 변수 대신 bash 배열을 사용할 수 있다면 다음과 같은 방법이 도움이 될 것입니다.
#!/bin/bash
for n in {1..85}
do
x=$(</home/user_files/out${n}.txt)
y=$(</home/dept_files/dep${n}.txt)
user_dep[$n]=$(echo " model: \$model_${n} user: $x department: $y License_Used: \$p_out${n}" | ts '%Y-%m-%d %H:%M:%S')
done
# and show results
for n in {1..85}
do
echo user_dep${n} = ${user_dep[$n]}
done