Как я могу применить функцию подстроки к файлу - PullRequest
0 голосов
/ 16 октября 2018

У меня есть сценарий, в котором я должен найти имя столбца для таблиц.У меня есть большой файл, имеющий около 50 тыс. Записей, таких как:

PLACES_OF_INDIA_2 :3432123, :Names Expr=('"Table_Name1".Column_1 || '' '' || "Table_Name2".Column_1 || '' '' || "Table_Name3"."Column_2"'), :Name=BCUDB2."Table_Name1".ATTR_VALUE, :Condition=BCUDB2."Table_Name1".Column_1, :Tables=(ABCXYZ."Table_Name1", ABCXYZ."Table_Name2", ABCXYZ."Table_Name3"), :Keys=ABCXYZ."IT_DIM_ANHBUSCH_37560".(M_113478_PQR(Int), M_113443_PQR(Int), M_113484_PQR(Int), M_113470_PQR(Int), M_113468_PQR(Int)), :Attrs=(Name :456866 = ('"Table_Name1".Column_1 || '' '' || "Table_Name2".Column_1 || '' '' || "Table_Name3"."Column_2"', ABCXYZ."Table_Name1", ABCXYZ."Table_Name2", ABCXYZ."Table_Name3"), PLACES_OF_ORIGIN_WineHierarchy_2 :490064736 = ABCXYZ."Table_Name1".ATTR_VALUE)

Поэтому я хочу извлечь столбцы с номером строки, используемой для таблиц в файле.У меня есть список таблиц в отдельном файле, например Table_Name1 Table_Name2 Table_Name3

, и я хочу выводить как 1, Column_1 1, Column_2 1, Column_3

Не могли бы вы проверить это

1 Ответ

0 голосов
/ 16 октября 2018

Ваш файл выглядит немного сложным, и я не вижу какой-либо конкретной схемы, где бы существовали имена столбцов.

Итак, у меня есть небольшое решение для начинающих, которое выглядит так:

for i in `cat table.txt` 
do 
num=`echo $i| tr "Table_Name" "\n" |sed '/^$/d'`
echo -n $num >>ans.txt
echo -n ",">>ans.txt
col=`echo $a| awk -vRS=")" -vFS="(" '{print $2}'|tr "||" "\n"|grep $i|cut -d'.' -f2 |grep -v ","`
echo $col >>ans.txt
done

Вывод похож на

   cat ans.txt 
    1,Column_1
    2,Column_1
    3,"Column_2"'

Вы можете работать над этим дальше, поскольку это не точный вывод.Но у вас есть с чего начать.

Дайте мне знать, если это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...