Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
UNIX for循环使用awk分配变量_Unix_Awk - Fatal编程技术网

UNIX for循环使用awk分配变量

UNIX for循环使用awk分配变量,unix,awk,Unix,Awk,但是不起作用,, 我的档案是 for i in `cat filename.lst|awk '{print $1}{print $2 > var1}'` do echo "$i and $var1" done 预期产出:- xyz 123 abc 456 pqr 789 你好像在找类似的东西 xyz and 123 abc and 456 pqr and 789 “安全”的确切定义可能太难准确界定。换句话说,真的不要这样做。你似乎在寻找类似的东西 xyz and 123 abc an

但是不起作用,, 我的档案是

for i in `cat filename.lst|awk '{print $1}{print $2 > var1}'`
do
echo "$i and $var1"
done
预期产出:-

xyz 123
abc 456
pqr 789

你好像在找类似的东西

xyz and 123
abc and 456
pqr and 789

“安全”的确切定义可能太难准确界定。换句话说,真的不要这样做。

你似乎在寻找类似的东西

xyz and 123
abc and 456
pqr and 789
eval "$(awk '{ print "var1=\047" $2 "\047;\n" \
    "echo \"" $1 " and \$var1\"" }' filename.lst)"
“安全”的确切定义可能太难准确界定。换句话说,真的不要这样做

eval "$(awk '{ print "var1=\047" $2 "\047;\n" \
    "echo \"" $1 " and \$var1\"" }' filename.lst)"
如果这还不是你想要的,那么编辑你的问题来澄清你的需求,并提供一个更具代表性的例子


如果这还不是您想要的,请编辑您的问题以澄清您的要求,并提供一个更具代表性的示例。

请查看此链接以了解如何提问。您是否试图获取类似于
awk'{print$1”和“$2}”文件的文件
?或者使用
sed
将每个空格替换为
这样的
sed's//and/'filename.lst
请查看此链接以了解如何提问。你是想得到类似于
awk'{print$1”和“$2}”的文件
?还是使用
sed
用单词
替换每个空格,就像这样
sed's//and/'filename.lst
hi Ed我想使用循环,逐行读取,我读取第一个字段(xyz),同时将第二个字段(123)分配给一个变量(比方说var1)从这个filename.lst开始。这样我就可以在循环中使用第二个字段来做一些其他的事情。@罗杰,如果“其他的事情”不涉及创建文件或进程(即shell的内容),那么您可能走错了路,请参见。嗨,Ed,我想使用循环,逐行读取,我读取第一个字段(xyz)当我将第二个字段(123)分配给这个filename.lst中的一个变量(比如var1)时,我可以在循环中使用第二个字段来做一些其他事情。@罗杰,如果“其他事情”不涉及创建文件或进程(即shell所用的东西),那么您可能走错了路,请参阅。