我有一个带动态列的csv文件。
我尝试使用awk -F , 'NF>1' resul1.txt
,但仍会打印所有列。
因为它有动态列。
使用print $1
直到结束打印非常困难。
答案 0 :(得分:0)
尝试 substr 功能:
substr(string,start [,length]) 返回字符串的长度为字符长的子字符串,从字符编号start开始。字符串的第一个字符是字符 例如,substr(“washington”,5,3)返回“ing”。*
awk -F, '{print substr($0,length($1)+1+length(FS))}' file
答案 1 :(得分:0)
您可以使用cut
:
cut -d',' -f2- yourfile.csv > output.csv
<强>解释强>:
-d
- 将分隔符设置为,
-f
- 要打印的字段2-
- 从2
字段到行尾使用awk
:
awk -F, '{sub(/[^,]+,/,"",$0);}1' OFS=, yourfile.csv > output.csv
使用sed
:
sed -i.bak 's/^[^,]\+,//g' yourfile.csv
-i
- 就地编辑答案 2 :(得分:0)
试试这个awk命令:
awk -F, '{$1=""}1' input.txt | awk -vOFS=, '{$1=$1}1' > output.txt