awk和sed实例
2014-06-27有一个2列的文件,想删掉重复的数据,并保持2列。
1、cat a.txt
/local/face-15/998/24.jpg /local/face-15/998/13.jpg
/local/face-15/998/07.jpg /local/face-15/998/29.jpg
/local/face-15/998/07.jpg /local/face-15/998/29.jpg
/local/face-15/998/29.jpg /local/face-15/998/07.jpg
2、为了删掉重复的数据,我们需要先将数据合并为1列
cat a.txt|awk '{print $1"\n"$2}'|sort|uniq
或者
sed 's/ /\n/g' a.txt| sort|uniq
/local/face-15/998/07.jpg
/local/face-15/998/13.jpg
/local/face-15/998/24.jpg
/local/face-15/998/29.jpg
3、为了将数据恢复成2列
cat a.txt|awk '{print $1"\n"$2}'|sort|uniq|awk 'ORS=NR%2?"\t":"\n"'
或者
sed 's/ /\n/' a.txt| sort|uniq|xargs -n2
/local/face-15/998/07.jpg /local/face-15/998/13.jpg
/local/face-15/998/24.jpg /local/face-15/998/29.jpg
4、尝试3列结果
cat a.txt|awk '{print $1"\n"$2}'|sort|uniq|awk 'ORS=NR%3?"\t":"\n"'
或者
sed 's/ /\n/' a.txt| sort|uniq|xargs -n3
/local/face-15/998/07.jpg /local/face-15/998/13.jpg /local/face-15/998/24.jpg
/local/face-15/998/29.jpg
5、删除所有数字行
sed -i '/^[0-9]*$/d' a.txt
6、文件尾增加另一个文件内容
find . -type f -exec sed -i '$r tmp.txt' {} \;
7、尾行删除/添加
sed -i '$d' a.txt
sed -i
'$a\要插入的文字'
file
.txt
相关日志
- nagios4.3.4升级4.4.1
- centos7配置网络nmcli无法使用
- Linux下怎么查看16进制文件
- shell中获得当前用户名
- nagios 4.08配置步骤
- linux查看当前使用的shell
- wget同步FTP
- date -d
- CentOS配置vsftpd
- iperf3测带宽质量
- "tar --exclude"
- base64
- tar – 复制目录及文件
- shell Cli Shortcuts
- Windows快捷键
- windows sc command
- Displays the UUID of a computer
- history记录添加时间戳
- dstat
- getent
- lastb命令
- set -o vi
- Linpack and Flops
- grep几个小技巧
- Linux Swap ,add ,delete and move
- Sed的常用命令语法 (6)
- linux命令行自动补齐 (6)
- wildcard"*"号的用法 (1)
- !$
- 回车符和换行符区别 (1)
- 监控工具nmon (1)
- awk to print all row to one line (8)
- reg命令给windows添加环境变量 (2)
- 统计文件行数的命令 (1)
- linux历史命令 (1)
- linux命令行TAB自动补全功能 (9)
- tar命令实例 (1)
- linux常用命令 (6)
- expr命令实例 (1)
- cut命令实例 (1)
- Linux下chkconfig命令详解 (1)
- vi或sed的批量替换 (1)
- xargs命令实例 (3)
- grep 用正则表达式实例 (2)
- linux add swap by file (1)
- sed-grep-awk (1)