当我启动 beta 命令时,我得到了这个结果:
dda6e95c-ecd1-4c22-a8df-f118af6aff02 Mount to DZ70cd on /dev/vda
f01e331e-0394-423f-b8ea-150f6b88029e Mount to DZ74cd on /dev/vdc
9f0d31ec-caa2-4e88-9cbd-4c82ebda5be3 Mount to DZe64c on /dev/vdc
2f3da174-1f9e-40e7-8869-563d90b103f4 Mount to DZ0d76 on /dev/vdc
我想对通过 bash 循环接收到的每一行进行数据处理:
for i in `beta-command` ; do echo $i ; done ;
我有这样的resilt:
dda6e95c-ecd1-4c22-a8df-f118af6aff02
Mount
to
DZ70cd
on
/dev/vda
f01e331e-0394-423f-b8ea-150f6b88029e
Mount
to
DZ74cd
on
/dev/vdc
如何要求循环考虑行而不是术语?
感谢
您可以将内部字段分隔符(
IFS
) 设置为换行符:或使用
while
循环:或使用
xargs
:或者
awk
如果您的任务是关于操作文本,请使用:关于使用循环处理每行命令输出或文件的利弊(?) ,您可能会阅读此内容(感谢@Jeff Schaller)。