使用 AWK 過濾不要的欄位

Linux 使用 AWK 來垂直取得資料,例如:

  • $ cat access.log | awk '{print $1, $2}'

但是反過來,想要過濾掉某些欄位,剩下的全部印出來,該怎麼做呢?

閱讀全文〈使用 AWK 過濾不要的欄位〉

PHP 將 CSV 使用第一欄當 Key 來轉成陣列

PHP 想將 CSV 轉成陣列,只要使用 str_getcsv() 即可,不過 CSV 的格式通常不會讓人這麼好過,CSV 常見幾個問題先列在下面:

  1. Big5 編碼 (Excel 存檔成 CSV 和要打開預設都是需要 Big5)
  2. BOM (若有存 UTF-8 的話,大多數會有 BOM)
  3. 分隔符號 (常見 "\t" 和 ","),有時候還會確保整個字串,會用 """ 包起來 (三個 double quote)
  4. 第一行是標題,想直接拿來當 Key 操作

在此篇上述就不解決(其它文章有寫解法,在此不詳述),只解決 3 和 4 的問題。

閱讀全文〈PHP 將 CSV 使用第一欄當 Key 來轉成陣列〉

MySQL 新增、移除 Primay Key 語法

MySQL 使用 ALTER Table 的語法蠻直覺的,如下:

  • ALTER TABLE table_name ADD COLUMN column_name char(1) not null default 'y' comment 'xxx'; # 預設加在最後面,若要指定加在哪裡,需要用 AFTER 的命令
  • ALTER TABLE table_name ADD COLUMN column_name char(1) not null default 'y' comment 'xxx' AFTER column_name;
  • ALTER TABLE table_name DROP COLUMN column_name;
  • ALTER TABLE table_name MODIFY COLUMN column_name char(1) not null default 'y' comment 'xxx';

在 Primay Key 的沒有「修改」的語法,想要修改得用刪除再新增的方法來達成,如下範例:

  • ALTER TABLE table_name DROP PRIMARY KEY, ADD PRIMARY KEY (`pk_1`, `pk_2`);

Google Spreadsheet 如何加入另一個檔案的某些欄位

想在 Google docs 的 Excel(Spreadsheet) 加入其它檔案的某個欄位(Cell)或者某些區間欄位(唯讀),要怎麼做呢?

閱讀全文〈Google Spreadsheet 如何加入另一個檔案的某些欄位〉