如何在Bash中删除字符串的第一部分?
这段代码将给出第一部分,但是如果没有第一部分,我如何删除它并获得整个字符串如何在Bash中删除字符串的第一部分?,bash,shell,Bash,Shell,这段代码将给出第一部分,但是如果没有第一部分,我如何删除它并获得整个字符串 echo "first second third etc"|cut -d " " -f1 您应该看看info cut,这将解释f1的含义 实际上,我们只需要第二个字段后面的字段-f告诉命令按字段进行搜索,2-表示第二个和后面的字段 echo "first second third etc" | cut -d " " -f2- 你可以做:
echo "first second third etc"|cut -d " " -f1
您应该看看
info cut
,这将解释f1
的含义
实际上,我们只需要第二个字段后面的字段-f
告诉命令按字段进行搜索,2-
表示第二个和后面的字段
echo "first second third etc" | cut -d " " -f2-
你可以做:
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个字节、字符或字段到行尾
就您所拥有的而言,您可以这样使用:
x="first second third etc"
echo ${x#* }
试试这个:
echo "first second third etc" | cut -d " " -f2-
你可以用它。不需要任何外部工具:
$ foo="a b c d"
$ echo "${foo#* }"
b c d
可能重复: