我是UNIX的新手,所以我希望人们能帮助我。
因此,我有一个文件,其中包含一个跨越多行的长字符串。该字符串由逗号分隔的数据组成。下面是一个例子:
"patchId":"29301631-EE", "patchId":"28655784-EE", "patchId":"28090523-EE", "patchId":"28090523-EE", "patchId":"28090523-EE", "patchId":"29301631-EE", "patchId":"29301631-EE", "patchId":"29301631-EE", "patchId":"28655784-EE", "patchId":"28655784-EE", "patchId":"28090523-EE",
我使用SED来标识逗号,以便添加换行符,以便数据显示为列表。然后,我将此输出保存到一个名为'temp‘的文件中。我用来做这件事的代码是:
(sed 's/\([,] \)/\n\1/g;s/\([,][0-9]\)/\n\1/g' < $patchesAvailable) > temp 2>&1
然而,我遇到的问题是,额外的信息被添加到文件中。如下所示:
./vmCompleteScript.sh: line 22: "patchId":"29301631-EE",
"patchId":"28655784-EE",
"patchId":"28090523-EE",
"patchId":"28090523-EE",
"patchId":"28090523-EE",
"patchId":"29301631-EE",
"patchId":"29301631-EE",
"patchId":"29301631-EE",
"patchId":"28655784-EE",
"patchId":"28655784-EE",
"patchId":"28090523-EE",: File name too long
由于某些原因,'./vmCompleteScript.sh:第22行:‘被包括在第一行,':文件名太长’被包括在最后一行,而我想要的只是一个包含“patchId”列表的文件:“...”,
我不知道如何防止多余的信息被添加,所以我希望有人这样做。
提前谢谢。
发布于 2019-06-05 01:51:39
2>&1会将错误消息定向到您的输出。您可能希望将它们定向到/dev/null,即2>/dev/null
现在,所有这些错误都将进入天空中的大比特桶;)
https://stackoverflow.com/questions/56448897
复制相似问题