awk 中的管道命令(shell 脚本)

问题描述 投票:0回答:0
#! /bin/bash
#read line for line 
read -p "Enter path to file" file
url=""
while read -r line; do
# reading each line
echo "$line"
url="$url $line"
done < "$file" 
#-------------------------------------------------------------------
n=0
m=0

while [ $n -lt 5 ]
do

    
    n=$(( n+1))
    m=$(( m+1))
#ping url to usable ip for further use 
    pingurl=$(echo "${url[@]}"| awk '{print $1+$m}') 
    pingip=$(ping -c 1 $pingurl | grep 'bytes of data' | awk  '{print $3}' | awk -F "("  '{print $2}'| awk -F ")"  '{print $1}')
echo "$n"; echo "$pingip"
`

done


这是我的 bash 脚本,用于放入文件路径(带有 url)。然后逐行读取它并将其存储在变量 $url 中,然后它定义了 var。 $pingurl 通过管道传递 var.$url 与 awk 只打印一个 url 以通过 ping 处理。我想为每个循环添加 awk 值 1 。如您所见,我通过尝试使用 var 为每个循环添加值来解决这个问题。 $m 但它不起作用。我正在打破我的想法,也许一些聪明的人能够帮助我解决这个问题。

我已经尝试用 ${url[(1+$m)]} 显示 url

bash shell variables awk
© www.soinside.com 2019 - 2024. All rights reserved.