Monday, October 22, 2012

Removing trailing dos carriage returns ^M

Sometimes when you're comparing text files, the lines looks identical but the diff command shows that the two lines are different. One reason might be because one file has dos carriage returns (^M) and the other doesn't. One easy way to check this is by opening the file using VI, ^M will show up at the end of the lines as shown:
There are several ways of removing this dos carriage return, but my preferred tool is sed. I had a problem getting sed to substitute this because you need to actually type CTRL-V CTRL-M when writing the regular expression.
    unix$ sed 's/^M//g' -i myfile.txt
NOTE: type CTRL-V CTRL-M for the pattern inside '/s/^M//g'. The above sed pattern deletes all occurrence of ^M and saves it on the same file using the -i argument.

Tuesday, October 16, 2012

MYSQL: How to get the summary of tables in a DB

I sometimes want to see the number of rows in the tables of my DB. Instead of using COUNT for each table, use this command to get the summary of your database.
   mysql> show table status; 
Results: +----------------------------------------+--------+---------+------------+-------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-------------------+----------+----------------+---------+ | Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time | Check_time | Collation | Checksum | Create_options | Comment | +----------------------------------------+--------+---------+------------+-------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-------------------+----------+----------------+---------+ | account_customer | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 0 | 51380224 | 1 | 2012-10-16 12:34:33 | NULL | NULL | latin1_swedish_ci | NULL |