是否可以在UNIX-Shell中使用tr命令删除特定字符串?例如:如果我键入:
tr -d "1."输入是1.1231,它会将23显示为输出,但我希望它显示1231 (注意,只有第一个1消失了)。我该怎么做呢?
如果您知道解决方案或更好的方法,请解释语法,因为我不想只是复制和粘贴,但也要学习。
我对awk有很大的问题,所以如果你使用这个,请解释更多。
发布于 2012-04-23 22:39:25
在上面的示例中,cut命令就足够了。
示例:echo '1.1231' | cut -d '.' -f 2将返回1231。
有关cut的更多信息,只需键入man cut即可。
发布于 2012-04-23 22:39:32
您最好使用某种正则表达式(可能是类似sed的代码)。
例如,对于输入1.1231,您可以使用以下命令来获得1231输出:
sed 's/1\.//g'也许你可以在这里看看:http://tldp.org/LDP/abs/html/string-manipulation.html
发布于 2012-04-23 22:33:30
你也可以使用sed来处理这类事情:
$ echo "1.1231" | sed -e "s/1\.//"
1231这只是使用sed运行正则表达式搜索和替换,替换为“1”。(使用适当的转义)和"“。默认情况下,它只删除第一个匹配项。
https://stackoverflow.com/questions/10282540
复制相似问题