Shell 如何将grep的每个输出通过管道传输到另一个命令?

Shell 如何将grep的每个输出通过管道传输到另一个命令?,shell,grep,xargs,Shell,Grep,Xargs,我有一个命令,返回数据库中的表列表: drush sqlq“显示表格”| grep已删除 这将返回需要删除的表的列表: field_deleted_data_811d267471 field_deleted_data_e52abfde52 field_deleted_data_eefd3bb8fd 我正在尝试将每个结果行和管道输入到命令中 drushsqlq“drop table TABLENAME” 我正试着建造一些像 drush sqlq“show tables”| grep delete

我有一个命令,返回数据库中的表列表:

drush sqlq“显示表格”| grep已删除

这将返回需要删除的表的列表:

field_deleted_data_811d267471
field_deleted_data_e52abfde52
field_deleted_data_eefd3bb8fd
我正在尝试将每个结果行和管道输入到命令中

drushsqlq“drop table TABLENAME”

我正试着建造一些像
drush sqlq“show tables”| grep deleted | xargs-n1 drush sqlq“drop table${table_NAME}”
其中
table_NAME
输出的每一行


但是仍然不清楚如何访问管道命令中的每个结果行

xargs
具有
-I
,在运行命令之前将被替换,例如:

drush sqlq "show tables"|grep deleted |xargs -I@ -n1 drush sqlq "drop table @"