您好,我有一个带有密钥的 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)