【发布时间】:2021-10-25 17:37:33
【问题描述】:
我有一个包含 2 列的文件。在第一列中,有几个字符串 (ID),在第二个值中。在字符串中,有许多点是可变的。我想根据最后一个点拆分这些字符串。我在论坛中找到了如何删除最后一个点之后的最后一个过去,但我不想删除它。我想使用 bash 命令(例如 awk)使用字符串的最后一部分创建一个新列
字符串示例:
5_8S_A.3-C_1.A 50
6_FS_B.L.3-O_1.A 20
H.YU-201.D 80
UI-LP.56.2011.A 10
输出示例:
5_8S_A.3-C_1 A 50
6_FS_B.L.3-O_1 A 20
H.YU-201 D 80
UI-LP.56.2011 A 10
我尝试使用以下命令来解决它,但如果我在字符串中只有 1 个点,它就可以工作:
awk -F' ' '{{split($1, arr, "."); print arr[1] "\t" arr[2] "\t" $2}}' file.txt
【问题讨论】:
-
是的,当然.. 我尝试使用以下命令解决它,但如果我在字符串中只有 1 个点,它就可以工作: awk -F' ' ' {{split($1, arr, ".");打印 arr[1] "\t" arr[2] "\t" $2}}' file.txt