这段代码将给出第一部分,但是我如何删除它并获取没有第一部分的整个字符串?
echo "first second third etc"|cut -d " " -f1
你应该看看info cut
,它将解释f1
的含义。
实际上,我们只需要第二个字段之后的字段。 -f
告诉命令按字段搜索,2-
表示第二个和后续字段。
echo "first second third etc" | cut -d " " -f2-
您可以为此使用子字符串删除。不需要外部工具:
$ 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 标签,你可以像这样使用 Bash 参数扩展:
x="first second third etc"
echo ${x#* }
试试这个:
echo "first second third etc" | cut -d " " -f2-