Chinaunix
标题:
带"|" 分隔符的文本格式化输出
[打印本页]
作者:
jack1007
时间:
2011-04-11 17:36
你把 | 都替换成tab呀
作者:
li2002
时间:
2011-04-11 17:52
sed 's/|/\t/g' a.txt|column -t
作者:
xiaopan3322
时间:
2011-04-11 17:53
vim中:
:%!column -t
复制代码
作者:
Hendane
时间:
2011-04-11 17:56
回复
4#
li2002
TKS!
作者:
Hendane
时间:
2011-04-12 09:37
回复
4#
li2002
在linux下面#sed -e '1i\ddddd' 2.txt
成功执行,但是在hp-ux下执行上述命令报错,不知道hp-ux下如何处理?
$sed -e '1i\ddddd' lock
sed: Function 1i\ddddd cannot be parsed.
而且,hp-ux下也没有column命令,只有 col命令,col - filter reverse line-feeds and backspaces
linux column:column - columnate lists
作者:
yinyuemi
时间:
2011-04-12 09:42
回复
7#
Hendane
try:
awk '{gsub(/\|/,"\t");FS="\t"}{for(i=1;i<=NF;i++) printf "%-
20
s", $i;print ""}'
红色的部分可以调整
作者:
yinyuemi
时间:
2011-04-12 09:47
晕了,可以不替换:
awk -F'|' '{for(i=1;i<=NF;i++) printf "%-15s", $i;print ""}'
作者:
blackold
时间:
2011-04-12 09:48
try
column -ts \| urfile
复制代码
作者:
chenbin200818
时间:
2011-04-12 09:57
sed 's/|\+/\t /g'
这样就对齐了
GNU sed 版本 4.2.1
作者:
Hendane
时间:
2011-04-12 10:02
回复
10#
blackold
此命令在hp-ux下无法使用。
作者:
blackold
时间:
2011-04-12 10:04
回复
12#
Hendane
哪有sed或tr再column -t或printf
作者:
Hendane
时间:
2011-04-12 10:14
回复
9#
yinyuemi
谢谢各位。
这个在hp-ux可以正常使用,但是我还想在第一行加入标题:
dbname tabname rowidlk keynum type sid user waiter
请问如何实现?
作者:
yinyuemi
时间:
2011-04-12 10:24
回复
14#
Hendane
awk -F'|' '{for(i=1;i<=NF;i++) printf "%-15s", $i;print ""}' <(echo "dbname|tabname|rowidlk|keynum|type|sid|user|waiter" ) <(cat file)
复制代码
作者:
li2002
时间:
2011-04-12 11:21
awk一定可以解决LZ的问题
作者:
greysky-zfj
时间:
2011-04-12 14:22
awk -F"|" 'BEGIN{OFS=" "}{fied=$1;$1=fied;print $0}' 2.txt|column -t
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2