그래서 숫자가 포함된 txt가 있고 이 숫자 앞에 문자열을 추가하고 싶지만 모든 줄에 동일한 문자열은 추가하고 싶지 않습니다. 예를 들어 다음과 같습니다.
49.950
38.654
104.138
168.171
100.586
그 앞에 Nick, George, James와 같은 단어를 추가하고 싶으므로 결과는 다음과 같습니다.
www.abc.com 49.950
www.facebook.com 38.654
www.youtube.com 104.138
www.google.com 168.171
www.twitch.com 100.586
어떻게 해야 하나요?
while read -r line; do x="$line"
if [ "$line" == "www.abc.com" ]; then
ping -c 4 www.abc.com | tail -1 | awk '{print $4}' | cut -d '/' -f 2 > results
fi
if [ "$line" == "www.facebook.com" ]; then
ping -c 4 www.facebook.com | tail -1 | awk '{print $4}' | cut -d '/' -f 2 >> results
fi
if [ "$line" == "www.youtube.com" ]; then
ping -c 4 www.youtube.com | tail -1 | awk '{print $4}' | cut -d '/' -f 2 >> results
fi
if [ "$line" == "www.google.com" ]; then
ping -c 4 www.google.com | tail -1 | awk '{print $4}' | cut -d '/' -f 2 >> results
fi
if [ "$line" == "www.twich.com" ]; then
ping -c 4 www.twitch.com | tail -1 | awk '{print $4}' | cut -d '/' -f 2 >>results
fi
done <urls
답변1
충분히bash
+awk
해결책:
while read -r url || [ -n "$url" ]; do
ping -c4 "$url" | awk -F'/' -v u="$url" 'END{ print u,$5 }'
done <urls > results
샘플 results
파일 콘텐츠(로컬 테스트 결과):
www.abc.com 207.137
www.facebook.com 39.938
www.youtube.com 35.580
www.google.com 128.124
www.twitch.com 144.557