shellを使っていこう

[vagrant@localhost shell]$ which bash
/bin/bash

[vagrant@localhost shell]$ cat -A hello
#!/bin/bash^M$
^M$
echo hello

^Mがあるのがよろしくない

tr(ティーアール)はUNIXおよびUNIX系システムのコマンドである。名称は translate または transliterate の略。

tr は標準入力から読み込んで標準出力に出力する。パラメータとして2つの文字集合を指定し、一方の文字集合に含まれる文字が出現する度に、もう一方の文字集合の同じ位置にある文字に置換して出力する。

sed(セド)は、入力ストリーム(ファイルまたはパイプラインからの入力)に対してテキスト変換などのデータ処理をおこなうために使用されるプログラム

文字列の置き換えは「s」コマンドを使って、「s/置換前/置換後/」と指定します。例えば、文字列「GNU」を「gnu」に置き換えるならば、「s/GNU/gnu/」と指定します。

[vagrant@localhost shell]$ sed -e s/^M// hello
#!/bin/bash

echo hello

改行コードを変換する

[vagrant@localhost shell]$ sed -i 's/\r//' hello
[vagrant@localhost shell]$ cat -e hello
#!/bin/bash$
$
echo hello[vagrant@localhost shell]$ ./hello
hello

変数を使用する

#!/bin/bash

name="yoshida"

echo "hello world $name"
echo "foo ${name}san"; echo "bar"

[vagrant@localhost shell]$ sed -i ‘s/\r//’ hello
[vagrant@localhost shell]$ ./hello
hello world yoshida
foo yoshidasan
bar