【发布时间】:2014-11-02 19:00:41
【问题描述】:
我有这段文字
hello world@helloworld@/dev/zero@inout/helloworld.out
hello world with warnings@warnings@/dev/zero@inout/helloworld.out
echo test@myecho@inout/echo.in@inout/echo.out
echo failtest@myecho@inout/echo.in@inout/helloworld.out
memleaks pass@memleaks@inout/memleaks.6.in@inout/memleaks.6.out
memleaks fail@memleaks@inout/memleaks.11.in@inout/memleaks.11.out
我想运行一个 bash 循环,在每次运行中我将读取一行并获得 4 个变量 每个直到@(没有@) 并知道我是什么行号 我到此为止
(( index=0 ))
for read line
do
(( index+=1 ))
var1=
var2=
var3=
var4=
done
我想得到的是
var1=hello world
var2=helloworld
var3=/dev/zero
var4=inout/helloworld.out
有没有办法在 1 行中做到这一点?
【问题讨论】:
-
您可以编辑以在 var1、var2 等中显示您的预期输出
-
是的,你是对的,我添加了它
标签: linux bash shell unix ubuntu