, где текст находится в файле input в том же каталоге, и результат указан в файле output.
cat ./input | sed -e 's/+------+------+//g' | sed -e 's/| Id | User |//g' | sed -e 's/ | root |//g' | tr -d "\n" | sed -e 's/| /,/g' | sed -e 's/ ,/,/g' | sed -e 's/ ,/,/g' > output
Когда я сделал это, ваш пример получил: [!d1 ]
+------+------,8192,8194,8202,8245,8434,8754,8761,8762,8764,8771
Это может быть потому, что в верхней строке вашего примера отсутствует + - может быть еще несколько ошибок ...
Тогда я думаю, вам просто нужно добавить в начале
Или, в надежде, небольшое улучшение в отношении того, что предложил Раду (также основанный на вышеприведенном вводе):
cat ./input | sed 's/[+-]*//g' | sed 's/ | root |//g' | tr -d "\n" | sed 's/| /,/g' | sed 's/ ,/,/g' | sed 's/ ,/,/g' | sed 's/^,//' | sed 's/,[0-9]* $/\n/' | sed 's/Id//g' | sed 's/,User,,//g' | sed 's/ //g' > output
Затем, основываясь на вас, Q & amp; A, вы должны иметь возможность запускать:
sudo /mysql_rms/bin/mysqladmin -S /mysql_rms/var/mysql_rms.sock -p kill $(cat ./output)
, хотя вы можете проверить, является ли это правильной командой с этой первой:
echo "sudo /mysql_rms/bin/mysqladmin -S /mysql_rms/var/mysql_rms.sock -p kill $(cat ./output)"