Linux系统中常见问题的处理技巧是什么
导读:本文共2653.5字符,通常情况下阅读需要9分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 对于Linux研发人员来说要每天都要进行文本处理,所以熟练的掌握文本处理命令和技巧很重要。背景笔者开发机上有很多 Docker 镜像,现在需要删除名为 none 的那些:$dockerimages如何操作呢?莫非手工一个个删除么?$dockerimagermf0fa889be9e8试想,如果有上百个这样的镜像待删,要搞到何年何月!但如何改进呢?文本过滤考虑先把名... ...
目录
(为您整理了一些要点),点击可以直达。背景
笔者开发机上有很多 Docker 镜像,现在需要删除名为 none 的那些:
$dockerimages
如何操作呢?莫非手工一个个删除么?
$dockerimagermf0fa889be9e8
试想,如果有上百个这样的镜像待删,要搞到何年何月!但如何改进呢?
文本过滤
考虑先把名字为 none 的镜像从结果中过滤出来, grep 命令即可搞定:
$dockerimages|grepnone
字段提取
接着,将容器 ID 一列提取出来,这对 awk 来说简直是小儿科:
$dockerimages|grepnone|awk'{print$3}'
当然了,通过 cut命令进行 字段切分 也可以得到相同的结果。 由于 cut 只能按单个字符进行切分,而原文本中的空格为多个,因此需要先进行 文本替换 。
文本替换
文本替换是 sed 命令擅长的事,下面将一个或多个空格替换成一个:
$dockerimages|grepnone|sed's/*//g'
文本切分
接下来,使用 cut 命令对结果进行进一步切分并取出第三个字段:
$dockerimages|grepnone|sed's/*//g'|cut-d''-f3
不错,我们得到与运用 awk 命令相同的结果。
批量删除
接下来,通过 xargs 批量删除镜像:
$dockerimages|grepnone|awk'{print$3}'|xargsdockerimagerm
在这个例子中, xargs 最终将执行以下命令:
$dockerimagermf0fa889be9e825795431645599739acbfe7a52b10754a70c86878eefdd39
看到没有,所有不想要的镜像都删除干净了,而且只需要进行一次操作:
$dockerimages
下面这个操作也是等价的:
$dockerimages|grepnone|sed's/*//g'|cut-d''-f3|xargsdockerimagerm
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
Linux系统中常见问题的处理技巧是什么的详细内容,希望对您有所帮助,信息来源于网络。