SHELL 到 BATCH:grep -Ev 命令
SHELL to BATCH : grep -Ev command
我需要一些帮助。我有这个 shell 脚本代码,它工作正常。
databases=`mysql -u$dbUser -p$dbPass -e "SHOW DATABASES LIKE '%demo%';" | grep -Ev "(Database|information_schema)"`
如何批量转换?
您可以以此为基础,根据您的需要进行调整。
@echo off
setlocal enableextensions enabledelayedexpansion
set "dbUser=username"
set "dbPass=password"
set "databases="
for /f "usebackq delims=" %%a in (`
mysql -u%dbUser% -p%dbPass% -e "SHOW DATABASES LIKE '%%demo%%';"
^| findstr /l /v /c:"Database" /c:"information_schema"
`) do set "databases=!databases! %%a"
echo %databases%
for
命令将执行 mysql
命令,对于不包含指定字符串的行,将用 findstr
过滤该命令。对于每一行输出,执行 do
子句中的代码。每个输出行都连接到 databases
变量。
我需要一些帮助。我有这个 shell 脚本代码,它工作正常。
databases=`mysql -u$dbUser -p$dbPass -e "SHOW DATABASES LIKE '%demo%';" | grep -Ev "(Database|information_schema)"`
如何批量转换?
您可以以此为基础,根据您的需要进行调整。
@echo off
setlocal enableextensions enabledelayedexpansion
set "dbUser=username"
set "dbPass=password"
set "databases="
for /f "usebackq delims=" %%a in (`
mysql -u%dbUser% -p%dbPass% -e "SHOW DATABASES LIKE '%%demo%%';"
^| findstr /l /v /c:"Database" /c:"information_schema"
`) do set "databases=!databases! %%a"
echo %databases%
for
命令将执行 mysql
命令,对于不包含指定字符串的行,将用 findstr
过滤该命令。对于每一行输出,执行 do
子句中的代码。每个输出行都连接到 databases
变量。