【发布时间】:2011-12-17 23:11:33
【问题描述】:
假设我们有一个表单的字符串
first;second;third;fourth
我想打印
second;third;fourth
我该怎么做?
【问题讨论】:
-
那个字符串是从哪里来的?它是否存储在变量中?
假设我们有一个表单的字符串
first;second;third;fourth
我想打印
second;third;fourth
我该怎么做?
【问题讨论】:
阅读您的要求,如果您想打印第一个分号后的所有内容,我会使用 POSIX 标准 expr 实用程序。
expr "first;second;third;fourth" : '[^;]*;\(.*\)'
【讨论】:
使用参数替换(匹配开头;删除最短部分):
str="first;second;third;fourth"
echo "${str#*;}"
【讨论】:
【讨论】:
cut 命令可以很好地解决问题:
echo "first;second;third;forth" | cut -d';' -f2-
【讨论】:
echo "first;second;thrid;fourth" | awk -F";" '{print substr($0,index($0,$2))}'
很多这些答案都有效,我认为cut 可能是最好的解决方案,但这是一个缓慢的夜晚,所以我添加了另一个,将字段 2 打印到行尾。
然而,它与另一个问题非常相似:
【讨论】: