在Linux中将分隔文件转换为固定宽度
发布时间:2020-12-13 23:54:00 所属栏目:Linux 来源:网络整理
导读:使用可用于bash的工具,如何转换分隔数据 foo|bbbaaarrr|bazz 固定宽度数据 foo bbbaaarrrbazz EOL 我尝试使用列作为文档隐含我可以定义列宽,没有用. 我确定使用sed或awk这是微不足道的,但我不熟悉它们. 解决方法 以下内容对您有用: column -t -s '|' input_
使用可用于bash的工具,如何转换分隔数据
foo|bbbaaarrr|bazz 固定宽度数据 foo bbbaaarrrbazz EOL 我尝试使用列作为文档隐含我可以定义列宽,没有用. 解决方法
以下内容对您有用:
column -t -s '|' input_file_here 它会将输入文件转换为表格格式.输入记录分隔符由-s指定.如果在字段中需要除空格填充之外的其他内容,请使用-o设置输出分隔符.输出分隔符默认为两个空格,因此输出中每列之间将有两个空格. 例: $cat input hello|world|testing a|b|c another|test|line $column -t -s '|' input hello world testing a b c another test line http://man7.org/linux/man-pages/man1/column.1.html 编辑: 如果您需要每个字段都是固定长度,则可以使用awk.您需要为文件设置输入分隔符,但是这样的东西应该有效: $awk -F '|' '{ for (i=1; i<=NF; i++) { printf("%-10s",$i); } print ""; }' input hello world testing a b c another test line 只需更改printf语句中指定的字段宽度即可. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |