cat出力から動的に配置された部分文字列を取得する

cat出力から動的に配置された部分文字列を取得する

スクリプトの私のコマンドは次のとおりです。

echo "- user:$(cat /var/users.txt)" >>  /opt/tag/user_new.txt

問題は、users.txtユーザーセットに次の形式が含まれていることです。[Eメール保護]など。

しかし、私が望むのは、@つまり前の部分です。ジョン・デイビスだから私が追加した文字列user_new.txtはこれです- user:john-davis

デフォルトでは、firstIndexOfとサブストリングとエコーのbashバージョンです。誰でも単一のコマンドでこれを達成する方法を助けることができますか?

ベストアンサー1

その中かっこは正しくないようです。プロセスを延長する意図があるとします。

エコをスキップして拡張も処理します。それは次のとおりです。

awk '-F@' '{ print "- user:" $1 }' /var/users.txt >> /opt/tag/user_new.txt

おすすめ記事