Ubuntu:文本编辑技巧

在 windows 下,习惯了使用 UE, UE 的列模式,文本替换很好用,并且可以实现行尾替换(例如,文本中所有行尾添加指定字符),也可以将多行转换成一行,但在 ubuntu 的 MadEdit 中还没找到类似的功能,等价的方法是用 sed, awk 命令实现,记录下。

Tbl_blog 文件内容

1
2
3
4
francs@francs:~/Desktop/冒泡助手$ cat tbl_blog.sql  
tbl_log_201301
tbl_access_log_201301
tbl_user_log_201301

在行尾增加双引号”

1
2
3
4
5
francs@francs:~/Desktop/冒泡助手$ sed 's/$/&" /g' tbl_blog.sql 
tbl_log_201301"
tbl_access_log_201301"
tbl_user_log_201301"
francs@francs:~/Desktop/冒泡助手$ sed -i 's/$/&" /g' tbl_blog.sql

备注:满足要求。 符号 $ 表示行尾。

在行首添加 -t “

1
2
3
4
5
6
7
8
9
10
11
francs@francs:~/Desktop/冒泡助手$ sed 's/^/-t "&/g' tbl_blog.sql 
-t "tbl_log_201301"
-t "tbl_access_log_201301"
-t "tbl_user_log_201301"

francs@francs:~/Desktop/冒泡助手$ sed -i 's/^/-t "&/g' tbl_blog.sql

francs@francs:~/Desktop/冒泡助手$ cat tbl_blog.sql
-t "tbl_log_201301"
-t "tbl_access_log_201301"
-t "tbl_user_log_201301"

备注:满足要求。 符号 ^ 表示行首。

将所有行转换成一行

有时需要将一个文本中所有行转换成一行,在 windows 下 UE 可轻松实现,但在 ubuntu 的 MaEdit 不好弄,网上查了下,可以通过 awk 实现。

1
2
3
4
5
6
7
8
9
francs@francs:~/Desktop/冒泡助手$ cat tbl_blog.sql
-t "tbl_log_201301"
-t "tbl_access_log_201301"
-t "tbl_user_log_201301"

francs@francs:~/Desktop/冒泡助手$ cat tbl_blog.sql | awk '{printf "%s",$0}' > tbl_blog1.sql

francs@francs:~/Desktop/冒泡助手$ cat tbl_blog1.sql
-t "tbl_log_201301" -t "tbl_access_log_201301" -t "tbl_user_log_201301"

备注:满足要求。

原创文章,作者:bd101bd101,如若转载,请注明出处:https://blog.ytso.com/238024.html

(0)
上一篇 2022年1月30日
下一篇 2022年1月30日

相关推荐

发表回复

登录后才能评论