如果我有一个字符串变量,其值为 "john is 17 years old"
如何使用空格作为分隔符来标记它?我会使用 awk
吗?
原文由 Jake Wilson 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果我有一个字符串变量,其值为 "john is 17 years old"
如何使用空格作为分隔符来标记它?我会使用 awk
吗?
原文由 Jake Wilson 发布,翻译遵循 CC BY-SA 4.0 许可协议
$ string="john is 17 years old"
$ tokens=( $string )
$ echo ${tokens[*]}
对于其他分隔符,例如 ‘;’
$ string="john;is;17;years;old"
$ OLDIFS="$IFS"
$ IFS=';' tokens=( $string )
$ echo ${tokens[*]}
$ IFS="$OLDIFS" # restore IFS
原文由 Diego Torres Milano 发布,翻译遵循 CC BY-SA 4.0 许可协议
1 回答1.2k 阅读✓ 已解决
2 回答1.7k 阅读
3 回答869 阅读✓ 已解决
1 回答720 阅读✓ 已解决
1 回答1.5k 阅读
1 回答865 阅读✓ 已解决
2 回答650 阅读✓ 已解决
使用 shell 对未引用变量的自动标记:
如果要更改分隔符,可以设置
$IFS
变量,它代表内部字段分隔符。$IFS
的默认值是" \t\n"
(空格、制表符、换行符)。(请注意,在第二个示例中,我在第二行周围添加了括号。这将创建一个子 shell,以便对
$IFS
的更改不会持续存在。您通常不想永久更改$IFS
因为它会对毫无戒心的 shell 命令造成严重破坏。)