如何使用cat命令将文件名添加到数组中?
我一直在尝试:
array=()
while IFS= read -r -d $'\0'; do
array+=("$REPLY")
done < <(cat /proc/swaps | grep "swap")
这可以将输出中的所有信息都抓取到数组中,或者只是不起作用。如何使用cat命令成功地将[/swapfile, /dev/hda1, /some/other/swap]
的预期输出转换为数组形式?
答案 0 :(得分:1)
readarray array < <(awk '/swap/{print $1}' /proc/swaps)
答案 1 :(得分:0)
Bash在版本4中引入了readarray
,它可以取代while读取循环。 readarray
是您想要的解决方案。
这是语法
readarray variable < inputfile
echo "${variable[0]}" ' to print the first element in array