将字符保存在文本文件中的特定位置和行(bash)

将字符保存在文本文件中的特定位置和行(bash)

这是我的 bash 脚本尝试读取和使用的文件的内容:

AAAA
0  1  2
BBBB

我怎样才能将字符“0”(位于第 2 行的第 1 位)保存到可以在 bash 脚本中使用的变量中?考虑到这个字符 (0) 不是唯一的,所以我不能单独使用它作为搜索模式

答案1

提取字符的几个选项:

sed -n '2s/\(.\).*/\1/p' file

或者

awk -F '' 'NR==2 {print $1}' file

您可以将输出重定向到新文件> newfile或使用命令替换将结果保存为变量var=$(...)


如果你真的想在 bash 中做到这一点,那么

n=0
while read line; do 
  ((++n == 2)) && { echo "${line:0:1}"; break; }
done < file

相关内容