pepoとネットワークを語ろう

40年前からこれまでとこれからのネットワークを語る

LinuxのscriptをTeraPad編集すると変なコードが

2010-06-15 19:32:26 | Linux

WindowsのTeraPadで編集したファイルをTeraTermでLinuxへファイル転送後viで編集してみるとこんな、そんな

# vi conv_get.cgi
357273277#!/bin/sh^M
CMD=/var/tmp/.QUERY_STRING.cmd^M
echo "$QUERY_STRING" | awk '{^M
  BEGIN{FS="&"}^M
  split($0,arry,"=")^M
  l=length(arry[1])^M
  i=match(arry[1],/_[0-9]+$/)^M
  j=k=arry[1]^M
  gsub(/_[0-9]+$/,"",j)^M
  m=substr(k,i+1,l)^M
  print j"["m"]="arry[2]}'^M
chmod +x $CMD^M
. $CMD^M
rm $CMD^M

上記のスクリプトが何をやっているかは想像にお任せしといてと『357273277』がTeraPadで余分に入る、これはどうしょうもないのxコマンドで削除後
# lfcut.s conv_get.cgi conv_get.cgi.old
# mv conv_get.cgi.old conv_get.cgi
# chmod +rx conv_get.cgi

随分前に作ったツールを今でもご愛用している

[root@p-4 ~]# cat /bin/lfcut.s
#!/bin/sh
# This scripts startup.s ^M cutter.
# Copyright 2000.11.8 IZAMU.KARERA
# Usage    startup.s before_txt after_txt
awk '{gsub(/15$/,"")}{print $0}' $1 > $2

pepo