将txt文件的内容存储到以逗号分隔的变量中

将txt文件的内容存储到以逗号分隔的变量中

您好,我有一个带有密钥的 txt 文件

a.txt:

1234
4567
4568
4564
6754
warning message
invoke from function

我需要将此文件的内容写入变量 parm 中,如下所示

1234,4567,3456,2345

我需要省略最后两行也在文件中。

答案1

使用 GNUhead或兼容版本,您可以使用负数从文件末尾删除给定数量的行:

parm=$(head -n -2 < a.txt | paste -sd , -)

zsh

parm=${(j:,:)"${(@f)$(<a.txt)}"[1,-3]}

(请注意,这$(<a.txt)会删除所有尾随换行符,因此也会删除尾随空行,并[1,-3]删除 2 个额外行)。

POSIXly:

parm=$(sed '$d' < a.txt | sed '$d' | paste -sd , -)

或者与awk

parm=$(awk 'NR>2 {printf "%s",  sep b; sep = ","}
            {b = a; a = $0}' < a.txt)

相关内容