以下是“grep”命令的输出。
grep -R 'table="transaction"' /home/shantanu/*
/home/shantanu/conf/transaction/Transaction.hbm.xml: <class name="com.common.core.transaction.entity.Transaction" table="transaction">
我想从上面的行中获取类名:
com.common.core.transaction.entity.Transaction
这是双引号中的第一个变量。
答案 0 :(得分:1)
这个的一些变体:
grep -R 'table="transaction"' /home/shantanu/* \
| sed 's/.*name="\(.*\)" table.*/\1/'
应该让你到那儿。根据您必须处理的所有数据,您需要调整\(.*\)
之前和之后的内容更紧或更松散。
答案 1 :(得分:1)
grep -R 'table="transaction"' /home/shantanu/* | cut -d '"' -f 2
答案 2 :(得分:0)
这适用于任何订单:
<class name="com.common.core.transaction.entity.Transaction" table="transaction">
<class table="transaction" name="com.common.core.transaction.entity.Transaction">
grep -R 'table="transaction"' /home/shantanu/* |\
sed -n 's/.*name="\([^"]*\)".*/\1/;p'
答案 3 :(得分:0)
这是Glenn Jackmans的回答。
$ awk -F\" '/table="transaction"/{print $2}' /home/shantanu/*
它强烈依赖于你声称“它是双引号中的第一个变量。”