我有一个命令,它返回数据库中的表列表:
drush sqlq "show tables"|grep deleted
这将返回需要删除的表的列表:
field_deleted_data_811d267471
field_deleted_data_e52abfde52
field_deleted_data_eefd3bb8fd
我正在尝试将每个结果行和管道输入命令
drush sqlq "drop table TABLENAME"
我正在尝试建立类似的东西
drush sqlq "show tables"|grep deleted |xargs -n1 drush sqlq "drop table ${TABLE_NAME}"
其中TABLE_NAME
输出的每一行。
我saw the question但仍然不清楚如何访问管道命令中的每个结果行。
答案 0 :(得分:3)
xargs
有-I<STRING>
在运行命令之前将被替换,在您的情况下将是例如:
drush sqlq "show tables"|grep deleted |xargs -I@ -n1 drush sqlq "drop table @"