好吧,我目前正在编写一个脚本,它将获取一个带有“~”分隔符的文件并将其拆分。但是它们是数组中的一项,需要取出该元素的最后 3 个单词的 [5] 元素,将它们切掉并将它们分配给数组中的不同值,然后重新调整元素 [5] 以删除这些项目。我尝试过 sed、cut 和其他命令,但我迷路了。我正在为这个脚本使用 bash,下面是我的问题的简短形式。
#!#!/bin/bash
STR="FAILED~LOSS~Positive~MULTICOUNT~1~LOSS SUMMARY - Log: One vs TWO DAD MAR DE~5~489646.22~469646.22~5"
IFS="~" read -ra STR_ARRAY <<< "$STR"
for x in "${STR_ARRAY[@]}"
do
echo "> [$x]"
done
当前打印:
[0] = FAILED
[1] = LOSS
[2] = Positive
[3] = MULTICOUNT
[4] = 1
[5] = LOSS SUMMARY - Log: One vs TWO DAD MAR DE
[6] = 5
[7] = 489646.22
[8] = 469646.22
[9] = 5
想要打印:
[0] = FAILED
[1] = LOSS
[2] = Positive
[3] = MULTICOUNT
[4] = 1
[5] = LOSS SUMMARY - Log: One vs TWO
[6] = DAD
[7] = MAR
[8] = DE
[9] = 5
[10] = 489646.22
[11] = 469646.22
[12] = 5