다음 컨텍스트에서 사용되는 awk 명령에 대한 설명

다음 컨텍스트에서 사용되는 awk 명령에 대한 설명

Prvt_Yadv는 스크립트를 사용하여 텍스트 파일의 패키지 목록에서 패키지를 설치하는 방법을 설명하는 몇 가지 코드를 작성했습니다.

내 질문은 그가 선택한 조합을 선택한 이유를 설명할 수 있는 사람이 있습니까?

위의 방법을 사용하지 않고도 작동하게 할 수 있었지만 매우 불안정합니다.

내 코드:

#!/bin/bash
#=====================================
# Path to Instalation & Scripts
#=====================================
path2Dev="/home/`id -u -n`/Development/Install"
input="$path2Dev/DepList_Fedora.txt"
#--------------------------------------

#=====================================
## Make stringBuild Global
#=====================================
export stringBuild=" "
#--------------------------------------

#=====================================
## Build string with no Fluff 
##  from List of packages
#--------------------------------------

while IFS= read -r line
do
    stringBuild+=" $line"

done < "$input"

###   End of Loop  ### 

#############################
# Get Dependencys for Build 
#  from values in ("input")
#============================
sudo dnf group install --assumeyes "C Development Tools and Libraries" ;
echo $stringBuild ## De-Bug 
sudo dnf install --assumeyes "$stringBuild" 
## Tried `$stringBuild` and $stringbuild

Prvt_Yadv 코드:

sudo dnf install --assumeyes $(awk -F ',' 'BEGIN {ORS=" "} {for(i=1;i<=NF;i++) {print $i}}' $input)

이것이 원래 코드보다 더 안정적으로 보이는 이유는 무엇입니까? 이유를 설명해 주실 수 있나요?

DepList_Fedora.txt

bison-devel 
 arm-none-eabi-gcc
 arm-none-eabi-gcc-cs 
 arm-none-eabi-gcc-cs-c++ 
 arm-none-eabi-binutils-cs 

 patch
 gperftools-devel
 ncurses-devel
 cdk
 cdk-devel
 ccrtp
 ccrtp-devel
 doxygen 
 python3-hidapi
 mingw64-hidapi
 hidapi-devel
 xclip
 autoconf213
 libtool-ltdl-devel
 python2-devel
 guile
 nodejs-node-expat
 mingw64-libltdl
 libusb-devel
 libusb
 autoconf
 texinfo
 libtool
 libftdi-devel
 gcc-arm-linux-gnu
 flex
 gperf
 git
 bison
 zlib  

관련 정보