1

2 つの文字列変数を連結したかっただけですが、出力が逆になっています。誰か私に理由を教えてください。ありがとう!!

私のシェルスクリプト:

HEADER=`cat header-cp-match-src-file.csv`
echo header: $HEADER
HEADER="$HEADER,Hello,123456"
echo header: $HEADER

出力:

header: good_description,tranx count
,Hello,123456description,tranx count

最初の行は正しいですが、最終的な出力には がなく"header:"",Hello,123456"文字列の先頭に移動します。

========== ソリューション ==========

ファイルheader-cp-match-src-file.csvはもともと Windows env からのものであるため\r、提案に基づいて が含まれており、\r. ありがとう!!

HEADER=`cat header-cp-match-src-file.csv`
echo header: $HEADER
HEADER=${HEADER/$'\r'/}
HEADER="$HEADER,KEVIN,123456"
echo header: $HEADER
4

2 に答える 2

5

最初の変数の末尾には、おそらく\r(MSWin の行末の一部) が含まれています。削除してみてください。

echo ${HEADER/$'\r'/}
于 2013-10-30T13:44:00.043 に答える