我有一个包含三列的.csv文件,我需要将第2列的值与第1列的行的末尾合并。
.csv文件包含数千行,并且需要为每一行完成。
我尝试使用awk,但是我发现很难正确获取代码
cat file.csv | awk '{print $1, $2}'
awk '{if ($2!= " ") {print $1+$2 }}'
These of course don't work
样本输入:
用于产生实际输出的命令很简单: 猫test.csv
[2,4,5,6,2,34,61,32,34,54,34, 22] 0.144354
[3,4,6,4,5,6,7,1,2,3,4,53,23, 34] 0.332453
[2,43,6,2,1,2,5,8,9,0,8,6,34, 21] 0.347643
所需的输出:
col1 col2
[2,4,5,6,2,34,61,32,34,54,34,22] 0.144354
[3,4,6,4,5,6,7,1,2,3,4,53,23,34] 0.332453
[2,43,6,2,1,2,5,8,9,0,8,6,34,21] 0.347643
答案 0 :(得分:2)
将“逗号后跟一个或多个空格”替换为“逗号”:
sed 's/, \{1,\}/,/' file.csv
sed 's/, */,/g' file.csv
将列$ 1和$ 2打印为$ 1(可选,用制表符分隔):
awk '{print $1 $2, $3}' OFS='\t' file.csv
答案 1 :(得分:0)
您可以尝试:
class Demo{
public static void main(String args[]){
int arr[]={321,321,321,43,65,234,56,-1,4,45,-67};
int max=arr[0];
int len=arr.length;
for(int i=0;i<len;i++){
if(max<arr[i]){
max=arr[i];
}
}
System.out.println("Max value is "+max);
int secMax=arr[0];
for(int j=0;j<len;j++){
if(max>arr[j]){
if(secMax<arr[j]){
secMax=arr[j];
}
else if(secMax>arr[j]){
secMax=arr[j];
}
}
else if(max==arr[j]){
//
}
}
System.out.println("Sec Max value is "+secMax);
}
}
答案 2 :(得分:0)
当您不想要空格时,我只会在逗号后面看到空格。
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="file" id="fileSomething1" />
<input type="file" id="fileSomething2" />
<button id="butn">click</button>
添加$: sed -E 's/,\s+/,/' file.csv
[2,4,5,6,2,34,61,32,34,54,34,22] 0.144354
[3,4,6,4,5,6,7,1,2,3,4,53,23,34] 0.332453
[2,43,6,2,1,2,5,8,9,0,8,6,34,21] 0.347643
(在{{1}之后的 之后)以进行就地编辑。
-i