私はシェルスクリプトに初めてアクセスし、sed
このコマンドの機能を理解していません。説明をお手伝いできますか?
cat $fRostroTmp | sed "s/ *|/;/g" >> $fRostroCsv
rm -f $fRostroTmp
答え1
sed
あなたの意見で表現について具体的に質問しましたs/ *|/;/g
。
これは、正規表現に一致するすべての項目を単一文字に置き換える代替コマンド(s
)です。*|
;
この式は、*|
0個以上のスペースの後に|
1文字が続くものと一致します。したがって、入力でこれが発生するたびに;
。
g
式の終わりには、sed
最初の一致だけでなく、各行の重複しないすべての一致にも置換が適用されます。これは次の行を意味します。
1 2 3 | 3 4 5 | 5 6 6
または
1 2 3| 3 4 5 | 5 6 6
に変換されます
1 2 3; 3 4 5; 5 6 6