首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将文本变量切成4个不同变量的正确方法

将文本变量切成4个不同变量的正确方法
EN

Stack Overflow用户
提问于 2019-02-14 17:03:01
回答 1查看 52关注 0票数 1

我有一个变量,里面有下面的文字。我很难弄清楚如何把它分成四个不同的变量。

存储在$t_config中的文本

代码语言:javascript
复制
session writelock

random command

random command

random command

session writeunlock

session writelock

random command

random command

session writeunlock

session writelock

random command

random command

session writeunlock

session writelock

random command

random command

session writeunlock

我可以分第一个,但不知道如何做其他三个。我是这样做的:

x1=$(echo "$t_config"| sed '/session writeunlock/q')

如果用IFS读行,这会更容易吗?

如有任何帮助或建议,将不胜感激。

编辑1) $t_config是从文件加载的。

每块写锁-写解锁将是一个不同的variable.EX) b1,b2,b3,b4

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-15 10:43:14

我认为您想要的是将/session写锁/和/session写解锁/分配给变量b1、b2等之间的每一行。

这是一种方法。正如评论者已经提出的那样,逐行阅读可能更有效率。但是,我假设您需要使用这个变量。

代码语言:javascript
复制
#!/bin/sh

t_config=`cat moo`

echo "$t_config" | {
        INDEX=0
        NL="
"
        while read LINE; do
                case $LINE in
                        ("session writelock")
                                OUTPUT=""
                                ;;
                        ("session writeunlock")
                                let INDEX=$INDEX+1
                                VAR="b$INDEX"
                                eval "$VAR='$OUTPUT'"
                                OUTPUT=""
                                ;;
                        (*) OUTPUT="$OUTPUT$NL$LINE";;
                esac
        done

        # now do something with the variables
        echo "b1:$b1"
        echo "b2:$b2"
        echo "b3:$b3"
        echo "b3:$b4"
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54695553

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档