当前位置: 技术问答>linux和unix
shell高手快进!!CSV行列变换问题!加上打印功能!!!
来源: 互联网 发布时间:2016-04-26
本文导语: 13403160309,GSM号码 13403161865,GSM号码 13403162035,GSM号码 13403164759,GSM号码 13403165021,GSM号码 13403164759,GSM号码 13403165021,GSM号码 13404164759,GSM号码 13405165021,GSM号码 13406164759,GSM号码 13407165021,GSM号码 变成如下结构: 13403160309 1340...
13403160309,GSM号码
13403161865,GSM号码
13403162035,GSM号码
13403164759,GSM号码
13403165021,GSM号码
13403164759,GSM号码
13403165021,GSM号码
13404164759,GSM号码
13405165021,GSM号码
13406164759,GSM号码
13407165021,GSM号码
变成如下结构:
13403160309 13403161865 13403162035 13403164759
13403165021 13403164759 13403165021 13404164759
13405165021 13406164759 13407165021
然后送到打印机每三十行一张纸,如果有字体放大功能更好!!记录比较多!!!
真诚求教!!高手赐招!!!!!嫌弃分少可以在加!!
13403161865,GSM号码
13403162035,GSM号码
13403164759,GSM号码
13403165021,GSM号码
13403164759,GSM号码
13403165021,GSM号码
13404164759,GSM号码
13405165021,GSM号码
13406164759,GSM号码
13407165021,GSM号码
变成如下结构:
13403160309 13403161865 13403162035 13403164759
13403165021 13403164759 13403165021 13404164759
13405165021 13406164759 13407165021
然后送到打印机每三十行一张纸,如果有字体放大功能更好!!记录比较多!!!
真诚求教!!高手赐招!!!!!嫌弃分少可以在加!!
|
下面是格式化文件代码
cat 你的原始文件名 | awk -F"," '
{
printf("%s ", $1);
if (NR != 1 && NR % 4 == 0)
{
printf("n");
}
}
END{
printf("n");
}
' > 你的原始文件名.new
cat 你的原始文件名 | awk -F"," '
{
printf("%s ", $1);
if (NR != 1 && NR % 4 == 0)
{
printf("n");
}
}
END{
printf("n");
}
' > 你的原始文件名.new
|
楼上的方法ok。
我觉得NR != 1没有必须判断吧。
命令行:
cat test.txt | awk -F, ' { printf("%s ", $1); if (NR % 4 == 0) printf("n");} END {printf("n")} '
我觉得NR != 1没有必须判断吧。
命令行:
cat test.txt | awk -F, ' { printf("%s ", $1); if (NR % 4 == 0) printf("n");} END {printf("n")} '
|
gawk -F, '{if (match($2,"GSM")) printf("%st", $1); if (NR % 4 == 0) printf("n");} END {printf("n")}' b.txt > c.txt
转换前文件:b.txt, 转换后结果文件c.txt.
转换前文件:b.txt, 转换后结果文件c.txt.
|
要先把前一行保存到一个变量中 然后在下一循环再比较
如果你的服务器挂了打印机,可以使用
lp 文件名
不过我还不会调整字体
如果你的服务器挂了打印机,可以使用
lp 文件名
不过我还不会调整字体
|
打印应该不属于shell管的,你可以用打印命令,或者找个可以打印的编辑程序。
对于用命令指定字体大小的具体操作不熟,不做评论。
|
NR != 1确实不需要写,脑子里老想着C的从0开始,顺手就多加了一个条件
打印需要看设备和纸张,不是简单的shell就可以解决的,一般需要根据设备与纸张调试n次才能正确输出
可以考虑在windows下打印
打印需要看设备和纸张,不是简单的shell就可以解决的,一般需要根据设备与纸张调试n次才能正确输出
可以考虑在windows下打印
|
建议先把Linux下的打印先搞起来先。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。