トップ «前の日記(2015-07-12(Sun)) 最新 次の日記(2015-07-14(Tue))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2015-07-13(Mon) さらに夏らしく

CRLF

sed で ^M を消す方法。
CRは\r なので、これだけ消せば良い。

$ cat foo.txt | hexdump -c
0000000   1       2       3  \r  \n   
          4       5       6  \r  \n
          7    
0000010   8       9  \r  \n                                            
0000015
$ sed -i  's/\r//' foo.txt
$ hexdump -c  foo.txt 
0000000   1       2       3  \n
          4       5       6  \n
          7       8    
0000010   9  \n                                                        
0000012

逆の場合は、 $を\rにする。

$ sed -i 's/$/\r/' foo.txt
 
$ hexdump -c foo.txt      
0000000   1       2       3  \r  \n
          4       5       6  \r  \n
          7    
0000010   8       9  \r  \n                                            
0000015

えすけーぷ

MySQLでは 'も\も使えるらしい。

mysql> insert into string_tbl 
    -> (char_fld, vchar_fld, text_fld)
    ->  values
    -> ('foo''bar', 'baz\'z', 'ふが');
Query OK, 1 row affected (0.01 sec)
 
mysql> select * from string_tbl;
+----------+-----------+----------+
| char_fld | vchar_fld | text_fld |
+----------+-----------+----------+
| bar      | NULL      | ほげ     |
| foo      | NULL      | ♕        |
| foo'bar  | baz'z     | ふが     |
+----------+-----------+----------+

Postgresでは'だけみたい。
SQLiteもたぶん同様。

mydb=> insert into first (char1) values ('あ''は');
 
mydb=> select * from first;
 number | char1 
--------+-------
      1 | ほげ
      2 | ふが
      3 | 
      4 | あ'は
(4 行)

たとえば女王さまを返す

MySQLとPostgresとSQLite3。

mysql> select '白クイーン' 項目, char(0xe29995) 文字;
+-----------------+--------+
| 項目            | 文字   |
+-----------------+--------+
| 白クイーン      | ♕      |
+-----------------+--------+
1 row in set (0.00 sec)
mydb=> select 'White Queen' char_type, chr(9813) a_glyph;
  char_type  | a_glyph 
-------------+---------
 White Queen | ♕
(1 行)
sqlite> select '白い女王', CHAR(9813);
'白  CHAR(9813)   
----  -------------
白い女王  ♕  

abcdef

というSQL文の違いをついでに。

mysql> select concat('ABC', char(0xe381a8), 'DEF');
+--------------------------------------+
| concat('ABC', char(0xe381a8), 'DEF') |
+--------------------------------------+
| ABCとDEF                             |
+--------------------------------------+
1 row in set (0.00 sec)
mydb=> select concat('abc', chr(12392), 'def');
  concat
----------
 abcとdef
(1 行)
sqlite> select 'abc' || char(0x3068) || 'def';
'abc
----
abcとdef

リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。