大文字ではないすべての文字を置き換えるシェルスクリプトを作成しようとしています。最初の引数は文字(これは他のものを置き換えます)ですが、他の引数はファイル名です。ターミナルでSedコマンドを実行しようとすると、うまく動作しますが、スクリプトでは、指定された文字で始まる行を除くすべての行が出力されます。 (私は標準出力に結果が欲しい。)bashスクリプトで文字を置換しないsed
for i in "${@:2}"
do
if [ -f $i ]
then
sed "s/[^A-Z]/${1}/g" $i
else
echo "$i does not exist"
fi
done
投稿したスクリプトでは、あなたが言うように振る舞うことはできません。そのスクリプトの内容と無関係に何かが起こっています。 –
もう一度チェックしても問題なく動作します。皆さん、助けをいただきありがとうございました。ご迷惑をおかけして申し訳ありません。 – user3529379