我有一个每行2个字符串的文本文件,我需要使用这些值进行curl
命令
文本文件:
www.example.com 38494740
www.example.org 49347398
www.example.net 94798340
我需要为行创建一个命令curl
,例如
curl www.example.com/38494740
curl www.example.org/49347398
curl www.example.net/94798340
我考虑过while
,但每行有2个字符串......
更新:
我需要将这些值用作变量,命令也可以这样curl www.exmple.com/foo/38494740
答案 0 :(得分:2)
awk -v OFS="/" '{$1=$1}1' curl
www.example.com/38494740
www.example.org/49347398
www.example.net/94798340
说明:
OFS
定义输出字段的分隔方式。这里设置为“/”。
{$1=$1}
:是要使awk重建记录,以便新的OFS生效
1:
是awk打印该行的默认操作。
根据评论:
while read domain sub
do
curl "$domain"/"$sub"
done < curl
答案 1 :(得分:1)
while read hostname number ; do echo "curl ${hostname}/${number}" ; done < inputFile
输出:
curl www.example.com/38494740
curl www.example.org/49347398
curl www.example.net/94798340
答案 2 :(得分:1)
这是完成任务的一种万无一失的方式。
#!/bin/bash
while read -r url port; # Read the tab-spaced file for the 'url' and 'port'
do
curl "${url}"/"${port}" # Construct the URL as "url/port" to run curl command on it
done < file
答案 3 :(得分:0)
一个简单的解决方案就是使用tr
将所有空格转换为/
:
tr ' ' '/' < inputfile