3

UNIX コマンドを使用して、ファイル内のデータの列txtをファイルの行に変換したいと考えています。csv

例:

ApplChk1,
ApplChk2,
v_baseLoanAmountTI,
v_plannedClosingDateField,
downPaymentTI,

これはtxtファイルに存在する列です

csvファイルで次のように出力したい

ApplChk1,ApplChk2,v_baseLoanAmountTI,v_plannedClosingDateField,downPaymentTI,

方法を教えてください。

前もって感謝します

4

5 に答える 5

3

それが行に変換したい単一の列である場合、多くの可能性があります。

tr -d '\n' < filename ; echo # option 1 OR
xargs echo -n < filename ; echo # option 2 (This option however, will shrink spaces & eat  quotes) OR
while read x; do echo -n "$x" ; done < filename; echo # option 3

複数行の場合、入力がどのように見えるかをお知らせください。

于 2012-12-27T08:12:18.080 に答える
2

面白い純粋なbash ソリューション (bash ≥ 4.1):

mapfile -t < file.txt; printf '%s' "${MAPFILE[@]}" $'\n'

終わり!

于 2012-12-27T21:06:28.757 に答える
1
for i in `< file.txt` ; do echo -n $i; done; echo ""

出力を与える

ApplChk1,ApplChk2,v_baseLoanAmountTI,v_plannedClosingDateField,downPaymentTI,

出力をファイルに送信するには:

{ for i in `< file.txt` ; do echo -n $i ; done; echo; } > out.csv

実行すると、次のようになります。

[jenny@jennys:tmp]$ more file.txt 
ApplChk1,
ApplChk2,
v_baseLoanAmountTI,
v_plannedClosingDateField,
downPaymentTI,
[jenny@jenny:tmp]$ { for i in `< file.txt` ; do echo -n $i ; done; echo; } > out.csv
[jenny@jenny:tmp]$ more out.csv 
ApplChk1,ApplChk2,v_baseLoanAmountTI,v_plannedClosingDateField,downPaymentTI,
于 2012-12-27T08:16:32.823 に答える
0
perl -pe 's/\n//g' your_file

上記はstdoutに出力されます。あなたがその場でそれをしたいなら:

perl -pi -e 's/\n//g' your_file
于 2012-12-27T08:46:24.133 に答える