Cut & Fetch word from string

I have a file with some SQL query, I want to fetch only Table Name from that file line by line.

INPUT FILE

SELECT * FROM $SCHM.TABLENAME1;
ALTER TABLE $SCHM.TABLENAME1 ADD DateOfBirth date;
INSERT INTO $SCHM.TABLENAME1 (CustomerName, Country) SELECT SupplierName, Country FROM $SCHM.TABLENAME2 WHERE Country='Germany';
SELECT  CustomerName, OrderID FROM $SCHM.TABLENAME1 RIGHT JOIN $SCHM.TABLENAME2 RIGHT JOIN $SCHM.TABLENAME3

OUTPUT FILE

TABLENAME1
TABLENAME1
TABLENAME1 TABLENAME2
TABLENAME1 TABLENAME2 TABLENAME3

every time table name is start with $SCHM.<TABLENAME>. can anyone help in above problem.

Show some effort!

Try this and try to understand the code.

awk '{for(i=1;i<=NF;i++){if($i~/\$SCHM\./){gsub(/.*\.|;/,x,$i); printf $i" "}}printf "\n"}' infile

--ahamed

Try also

grep -o '\$SCHM\.[^ ;]*' file|cut -d\. -f2