スクリプト機能のsedコマンドは機能しませんか?

スクリプト機能のsedコマンドは機能しませんか?

sedASCII 1を次に置き換えるコマンドラインがあります|

sed -e 's/^A/\|/g' file_name

これはうまくいきます。しかし、bashファイルの関数に入れると、次のようになります。

func(){
    sed -e 's/^A/\|/g'
}

動作しません:

func file_name

ファイルを表示する代わりに停止します。

私は間違えましたか?私のbashが確実にロードされるように新しいターミナルを開きました。

ベストアンサー1

これを入力パラメータとして扱う必要がありますfile_name。関数のコマンドに魔法のように当てはまるわけではありません。

func() {
    sed -e 's/^A/\|/g' "$1"
}

渡された最初のパラメータはに格納され$1、2番目のパラメータはに格納される$2式です。

これはあなたのバージョンで動作します。 btw:func < file_name

おすすめ記事