awk merge lines
来源:互联网 发布:java 统一异常处理 编辑:程序博客网 时间:2024/06/03 17:11
A sample to merge continuous text line using awk utility.
i.e, when a text line is ended with a dash ('-'), it should continue with next line.
For example:
1: 11 2: 22 - 3: 33 4: 44
should be merged to:
1: 11 2: 22 33 3: 44
The awk script:
#!/bin/kshINPUT=${1}awk ' function ltrim(s) { sub(/^[ \t\r\n]+/, "", s); return s } function rtrim(s) { sub(/[ \t\r\n]+$/, "", s); return s } function trim(s) { return rtrim(ltrim(s)); } BEGIN {} { # If the last char is a dash, continue if (substr($0, length($0), 1) == "-") { printf "%s ", rtrim(substr($0, 0, length($0) - 1)) } else { printf "%s\n", ltrim($0) } } END {}' $INPUT
The End.
0 0
- awk merge lines
- awk example :it is common example for two file merge lines--NR,FNR
- paste utilitiy -- merge lines of files
- use awk to print after/before n lines after match
- lines
- 合并多个连续的行merge multiple consecutive lines{转}
- awk
- awk
- AWK
- awk
- AWK
- awk
- awk
- AWK
- awk
- awk
- AWK
- awk
- JAVA基础知识
- C++ call dlopen function
- Xcode8 在导入第三方是遇到的问题
- Linux遇到的坑
- 字符串转换成整数
- awk merge lines
- ssh远程重装Centos系统
- jsp基础
- zeromq分析-1-yqueue实现
- uva624 CD 01背包+输出路径
- 华为笔试题,关于操控字符串
- css绝对定位实现居中
- C语言问答3
- C/C++ launch a subprocess and get its output