这段代码将给出第一部分,但如何删除它,并获得没有第一部分的整个字符串?
echo "first second third etc"|cut -d " " -f1
答案 0 :(得分:29)
您应该查看info cut
,它将解释f1
的含义。此外,同样的问题:question-7814205
实际上我们只需要在(和)第二个字段后面的字段。 -f
告诉命令按字段搜索,2-
表示第二个及以下字段。
echo "first second third etc" | cut -d " " -f2-
答案 1 :(得分:11)
您可以使用substring removal,无需外部工具:
$ foo="a b c d"
$ echo "${foo#* }"
b c d
答案 2 :(得分:6)
你可以这样做:
echo "first second third etc" | cut -d " " -f2-
>> second third etc
答案 3 :(得分:3)
尝试这样做:
echo "first second third etc"|cut -d " " -f2-
在
中解释 man cut | less +/N-
从第N个字节,字符或字段到行尾
至于您拥有bash标记,您可以像这样使用bash parameter expansion:
x="first second third etc"
echo ${x#* }
答案 4 :(得分:1)
试试这个: -
echo "first second third etc"|cut -d " " -f2-