파일에서 값 열을 읽고 하나씩 인쇄합니다.

파일에서 값 열을 읽고 하나씩 인쇄합니다.

xyz.csv파일에는 다음 데이터가 포함되어 있습니다.

**abc_hosts,def_host_id,sde_host_id,hostname,dffff_status,status,eeee,eeeeee,tttt,name1,name2,name3,**
start,,,,,,,,,,,,,,,,,,,
,2,3,eee,4,4,rrr,ggggg,323232,22323,2323232,sfdsfd,223333,443433323,45343,5445,213132,fdsfdfdfd,2332332321,3
end,,,,,,,,,,,,,,,,,,,

답변1

설명에서 언급했듯이 IP 주소는 eth0이 명령을 실행할 수 있는지 여부에 따라 항상 포함되는 줄에 있습니다.

grep eth0 Platform_Configuration.csv | cut -d',' -f5 | tr -d '**'

답변2

귀하의 코드를 테스트하지는 않았지만 귀하의 코드가 정확하다고 가정하면 이는 간단한 작업입니다.

echo  $(grep -A$i "start_interfaces_setup" Platform_Configuration.csv | cut -d ',' -f5) | tr " " "\n"

tr마지막 부분을 봐주세요 .

답변3

해당 작업은 한 사람이 완료할 수 있습니다.sed

sed -n '/.*eth0:[0-9]\+,/{s///;s/,/\n/;P;}' Platform_Configuration.csv

또는

sed -n '/eth0/{s/,/\n/4g;D;};/\n/P' Platform_Configuration.csv

답변4

데이터가 구분되어 있으므로 다음과 같은 것을 제안합니다.

awk -F, '/eth0:[0-9]+/ {print $5}' Platform_Configuration.csv

또는 (더 엄밀히 말하면)

awk -F, '$4 ~ /eth0:[0-9]+/ {print $5}' Platform_Configuration.csv

관련 정보