将 sed 与类似于 cut 的分隔符一起使用

布莱克利

给定一个foo.txt包含文件名的文件,例如:

2015_275_14_1,Siboney_by_The_Tailor_Maids
2015_275_16_1,Louis_Armstrong_Cant_Give_You_Anything_But_Love
2015_275_17_1,Benny_Goodman_Trio_Nice_Work_Avalon
2015_275_18_1,Feather_On_Jazz_Jazz_In_The_Concert_Hall
2015_235_1_1,Integration_Report_1
2015_273_2_1_1,Cab_Calloway_Home_Movie_1
2015_273_2_2_1,Cab_Calloway_Home_Movie_2

我想,以取代_用逗号之前的部分._与空间逗号后的第二部分。

我可以通过以下方式单独完成每个任务:

sed -E -i '' 's/([0-9]{4})_([0-9]{3})_([0-9]{2})_([0-9])/\1.\2.\3.\4./'

对于第一部分,第二部分然后是:

sed -E -i '' "s/_/ /g"

但我希望通过使用 cut 和 sed 以更简单的方式完成它,但这不起作用:

cut -d "," -f 1 foo.txt | sed -E -i '' "s/_/./g" foo.txt && cut -d "," -f 2 foo.txt | sed -E -i '' "s/_/ /g" foo.txt

不好。

那么,有没有办法用sed或者可能awk或者其他的东西来完成这个,我把它,当作分隔符,比如 in cut

期望的输出:

2015.275.14.1,Siboney by The Tailor Maids
讲师垫

类似于@CWLiu的答案,但我使用 OFS(输出字段分隔符)而不是在逗号中添加回来,并且必须使用 printf 添加换行符。

awk -F ',' 'BEGIN {OFS = FS} {gsub(/_/, ".", $1); gsub(/_/, " ", $2); print;}' foo.txt

解释:

-F ',' 设置字段分隔符

BEGIN {OFS = FS} 将输出字段分隔符(默认空格)设置为等于字段分隔符,以便将逗号打印回

gsub(/_/, ".", $1) 第一列的全局替换

gsub(/_/, " ", $2) 第二列的全局替换

print 打印整行

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将cut / awk / sed与两个不同的定界符一起使用

来自分类Dev

SSH密钥的字符集(与公共密钥一起使用sed的安全分隔符)

来自分类Dev

蜂巢:将collect_set与分隔符一起使用

来自分类Dev

使用XSL将XML文件显示为类似于HTML

来自分类Dev

使用类似于SLComposeViewController的Swift将UIImage发布到Instagram

来自分类Dev

使用sed,awk或tr将冒号(:)作为分隔符将每一行拆分为CSV格式

来自分类Dev

将STDIN与另一个使用自定义列分隔符的文件一起使用?

来自分类Dev

如何使用单个空格作为分隔符将多个文件粘贴在一起

来自分类Dev

在XSL中使用分隔符将字符串粘合在一起

来自分类Dev

类似于gmail的电子邮件分隔符

来自分类Dev

类似于gmail的电子邮件分隔符

来自分类Dev

将sed命令与变量一起使用

来自分类Dev

将sed与包含url的变量一起使用

来自分类Dev

将sed命令与变量一起使用

来自分类Dev

使用类似于静态字典的类将大量字符串键链接到类

来自分类Dev

是否可以将GStreamer设置为可在MinGW中使用,类似于在Linux中进行的操作?

来自分类Dev

使用string.replace()将字符串替换为类似于字符串的数字

来自分类Dev

使用dataframe.apply将每行扩展为熊猫中的多行(类似于MapReduce)

来自分类Dev

使用类似于地图区域的 coords 属性的内容将 div 放置在特定坐标处

来自分类Dev

避免使用Cut计算分隔符

来自分类Dev

cut : 使用“/”作为分隔符

来自分类Dev

将-e选项与sed一起使用以从脚本运行sed失败

来自分类Dev

在Fish外壳中,如何将数组与自定义分隔符连接在一起?

来自分类Dev

如何使用cat,sed,awk或cut将列添加到csv文件中的特定位置?

来自分类Dev

如何在Linux终端提示中使用awk,sed,grep或cut将文本文件内容获取到表

来自分类Dev

如何使用cat,sed,awk或cut将列添加到csv文件中的特定位置?

来自分类Dev

如何制作一个可以将任何类似于javascript代码的字符串转换为对象的函数?

来自分类Dev

是否有一个类似于StrToCurr的函数可以处理数千个分隔符?

来自分类Dev

尝试使用xmodmap将<Ctrl> + <hjkl>全局映射到<Left Down Up Right>(类似于Vim的箭头键)

Related 相关文章

  1. 1

    将cut / awk / sed与两个不同的定界符一起使用

  2. 2

    SSH密钥的字符集(与公共密钥一起使用sed的安全分隔符)

  3. 3

    蜂巢:将collect_set与分隔符一起使用

  4. 4

    使用XSL将XML文件显示为类似于HTML

  5. 5

    使用类似于SLComposeViewController的Swift将UIImage发布到Instagram

  6. 6

    使用sed,awk或tr将冒号(:)作为分隔符将每一行拆分为CSV格式

  7. 7

    将STDIN与另一个使用自定义列分隔符的文件一起使用?

  8. 8

    如何使用单个空格作为分隔符将多个文件粘贴在一起

  9. 9

    在XSL中使用分隔符将字符串粘合在一起

  10. 10

    类似于gmail的电子邮件分隔符

  11. 11

    类似于gmail的电子邮件分隔符

  12. 12

    将sed命令与变量一起使用

  13. 13

    将sed与包含url的变量一起使用

  14. 14

    将sed命令与变量一起使用

  15. 15

    使用类似于静态字典的类将大量字符串键链接到类

  16. 16

    是否可以将GStreamer设置为可在MinGW中使用,类似于在Linux中进行的操作?

  17. 17

    使用string.replace()将字符串替换为类似于字符串的数字

  18. 18

    使用dataframe.apply将每行扩展为熊猫中的多行(类似于MapReduce)

  19. 19

    使用类似于地图区域的 coords 属性的内容将 div 放置在特定坐标处

  20. 20

    避免使用Cut计算分隔符

  21. 21

    cut : 使用“/”作为分隔符

  22. 22

    将-e选项与sed一起使用以从脚本运行sed失败

  23. 23

    在Fish外壳中,如何将数组与自定义分隔符连接在一起?

  24. 24

    如何使用cat,sed,awk或cut将列添加到csv文件中的特定位置?

  25. 25

    如何在Linux终端提示中使用awk,sed,grep或cut将文本文件内容获取到表

  26. 26

    如何使用cat,sed,awk或cut将列添加到csv文件中的特定位置?

  27. 27

    如何制作一个可以将任何类似于javascript代码的字符串转换为对象的函数?

  28. 28

    是否有一个类似于StrToCurr的函数可以处理数千个分隔符?

  29. 29

    尝试使用xmodmap将<Ctrl> + <hjkl>全局映射到<Left Down Up Right>(类似于Vim的箭头键)

热门标签

归档