の複数の値を置き換えます1場合 。 then 22 2の場合;次に35 3の場合;は、私はcsvファイルを持っているcsvファイル
awk -F , -v OFS=, '{if ($3=="1") $3="22";if ($3=="2") $3="35";if ($3=="3") $3="14"} {print "\""$1"\""",""\""$2"\""",""\""$3"\""",""\""$4"\""}' /tmp/test.csv
は、それは、Debian上ではなく、Ubuntuの上でうまく動作します。その後、14
これは私が作ったものです。 問題は何ですか?おかげであなた
[EDIT] 例で私はこの1つで昨日引用し、それは動作しますが、ない: 猫-vのtest.CSV
1,1,1,2
2,2,1,2
3,3,1,2
4,4,1,2
5,5,1,2
6,6,1,2
7,7,1,2
8,8,1,2
9,9,1,2
10,10,1,2
11,11,1,2
12,12,1,2
13,13,1,2
14,14,1,2
15,15,1,2
16,16,1,2
17,17,1,2
18,18,1,2
19,19,1,2
20,20,1,2
21,21,1,2
22,22,1,2
23,23,1,2
24,24,1,2
25,25,1,2
26,26,1,2
27,27,1,2
28,28,1,2
29,29,1,2
30,30,1,2
31,31,1,2
32,32,1,2
33,33,1,2
34,34,1,2
35,35,1,2
36,36,1,2
37,37,1,2
38,38,1,2
39,39,1,2
40,40,1,2
そして今、コマンドリターン:
awk -F , -v OFS=, '{if ($3=="1") $3="2";if ($3=="2") $3="3";if ($3=="3") $3="5"} {print "\""$1"\""",""\""$2"\""",""\""$3"\""",""\""$4"\""}' toast.csv
"1","1","5","2"
"2","2","5","2"
"3","3","5","2"
"4","4","5","2"
"5","5","5","2"
"6","6","5","2"
"7","7","5","2"
"8","8","5","2"
"9","9","5","2"
"10","10","5","2"
"11","11","5","2"
"12","12","5","2"
"13","13","5","2"
"14","14","5","2"
"15","15","5","2"
"16","16","5","2"
"17","17","5","2"
"18","18","5","2"
"19","19","5","2"
"20","20","5","2"
"21","21","5","2"
"22","22","5","2"
"23","23","5","2"
"24","24","5","2"
"25","25","5","2"
"26","26","5","2"
"27","27","5","2"
"28","28","5","2"
"29","29","5","2"
"30","30","5","2"
"31","31","5","2"
"32","32","5","2"
"33","33","5","2"
"34","34","5","2"
"35","35","5","2"
"36","36","5","2"
"37","37","5","2"
"38","38","5","2"
"39","39","5","2"
"40","40","5","2"
すべての3番目の値は2ではなく5になります。Debianでこの例と同じ問題が発生します。
のコマンドを実行します。間違いなく、それは私がスクリプトに入れたものとは異なるフィールド(3番目)を返します。私は現在、私のコンピュータにアクセスすることができないので、正しい出力を表示することはできません。 – Kamiz
私はちょうど仮想マシンにUbuntuをインストールしていて、問題はありません...とにかく、明日のコマンドの出力を投稿します。 – Kamiz
こんにちは、私は私の質問を変更しました。 – Kamiz