gpt4 book ai didi

linux - 使用shell脚本根据字符分割字符串

转载 作者:太空宇宙 更新时间:2023-11-04 05:02:46 25 4
gpt4 key购买 nike

我想从字符串中提取表名并使用 shell 脚本将其移动到数组中。

输入字符串格式:

APPNAME_TABLE_NAME_DATE

示例输入数据:

AAA_STUDENT_ADDR_12172014
AAA_STUDENT_DEPT_12172014
AAA_STUDENT_SEC_12172014
AAA_STUDENT_LIST_12172014

输出应该是:

STUDENT_ADDR
STUDENT_DEPT
STUDENT_SEC
STUDENT_LIST

任何人都可以帮助我吗,我是 shell 脚本的新手:)

最佳答案

如果您是老派并且需要 100% 在 shell 内执行此操作,请查看内置变量 $IFS 的定义和“set”内置命令。在读取循环中,执行 IFS=_ ,然后使用“set”使用该行的拆分组件加载位置参数($1、$2 等);然后将结果字符串构建为“$2_$3”。 (不要忘记重置 IFS。)

如果您是新手,这可以通过参数扩展的删除前缀和删除后缀功能来完成。您的任务是撕掉第一列和最后一列(“AAA_”和“_12172014”)。如果您的输入行位于变量 $line 中,则

ripfirst=${line#*_}
riplast=${ripfirst%_*}

这将在 $riplast 中留下正确的值。

如果您可以使用 Unix 或 Linux shell 环境的全部功能,那么使用 sed 正则表达式就很简单了。

关于linux - 使用shell脚本根据字符分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27532003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com