【发布时间】:2019-09-18 01:49:56
【问题描述】:
我有一个包含以下条目的文件:
foop07_bar2_20190423152612.zip
foop07_bar1_20190423153115.zip
foop08_bar2_20190423152612.zip
foop08_bar1_20190423153115.zip
在哪里
foop0* = host
bar* = fp
我想读取文件并创建 3 个变量,整个文件名、主机和 fp(代表 file_path_differentiator)。
我正在使用 read 获取第一行并获取我的整个文件名变量,尽管我可以将其输入 awk 以获取接下来的两个变量,但是变量插入的第一种方法会产生错误,而第二种给出我所有的变量。
我想循环每一行,因为我希望使用这些变量来 ssh 到主机并获取文件
#!/bin/bash
while read -r FILE
do
echo ${FILE}
host=`awk 'BEGIN { FS = "_" } ; { print $1 }'<<<<"$FILE"`
echo ${host}
path=`awk -v var="${FILE}" 'BEGIN { FS = "_" } ; { print $2 }'`
echo ${path}
done <zips_not_received.csv
预期结果
foop07_bar2_20190423152612.zip
foop07
bar2
foop07_bar1_20190423153115.zip
foop07
bar1
实际结果
foop07_bar2_20190423152612.zip
/ : No such file or directoryfoop07_bar2_20190423152612.zip
bar2 bar1 bar2 bar1
【问题讨论】: