キーが次のようにファイルにあるとし、キーを置き換えるためにファイルを変更したいと思います。
42NM
52NM
23NO
XNNM
「ok」という言葉の代わりにNMを使いたいです。
1 #!bin/bash/
2
3 if [ -f KeyFile]
4 then
5 sed 's/[0-9][0-9]NM/Okay/g' KeyFile
6 else
7 echo "File does not exist or cannot be found."
8 fi
9
10 exit 0
私は次のコマンドを実行しました。
chmod a+x FindKeys
その後、スクリプトを実行しようとすると、次の結果が表示されます。
-bash-3.00$ ./FindKeys
-bash: ./FindKeys: bin/bash/: bad interpreter: No such file or directory
2つの問題があるようです。 1つはスクリプトファイルが正しく実行されないことで、2つ目はコマンドがsed
機能しないことです。
答え1
1号線:ハッシュバンラインが正しくありません。以下を使用してください。
#!/bin/bash
3号線:ユーティリティ注test
(最後の前にスペースが必要です]
):
if [ -f KeyFile ]
5号線sed
:コマンドで-i
有効な内部編集を使用しますsed
。それ以外の場合、編集内容は単に標準出力として印刷されます。
sed -i 's/[0-9][0-9]NM/Okay/g' KeyFile