【发布时间】:2012-11-27 02:40:54
【问题描述】:
这段代码将给出第一部分,但我怎样才能删除它并在没有第一部分的情况下获取整个字符串?
echo "first second third etc"|cut -d " " -f1
【问题讨论】:
这段代码将给出第一部分,但我怎样才能删除它并在没有第一部分的情况下获取整个字符串?
echo "first second third etc"|cut -d " " -f1
【问题讨论】:
您应该看看info cut,它会解释f1 的含义。
实际上,我们只需要第二个字段之后的字段。 -f 告诉命令按字段搜索,2- 表示第二个和后面的字段。
echo "first second third etc" | cut -d " " -f2-
【讨论】:
您可以为此使用substring removal。不需要任何外部工具:
$ foo="a b c d"
$ echo "${foo#* }"
b c d
【讨论】:
你可以这样做:
echo "first second third etc" | cut -d " " -f2-
>> second third etc
【讨论】:
尝试这样做:
echo "first second third etc" | cut -d " " -f2-
里面有解释
man cut | less +/N-
N- 从第 N 个字节、字符或字段到行尾
到目前为止,你有Bash tag,你可以像这样使用Bash parameter expansion:
x="first second third etc"
echo ${x#* }
【讨论】:
试试这个:
echo "first second third etc" | cut -d " " -f2-
【讨论】: