linux - 如何在bash中用冒号读取文本文件
问题描述
我将用户名和密码存储在带有双点的 .txt 文件中,我想从中读取并将前半部分存储在变量中,后半部分存储在变量中。
示例:kmyghz1:aa12345bb12345cckmyghz1
cat ./examples/secrets.txt | while IFS=':' | read variable1 variable2 do \
echo $variable1 \
echo $variable2 \
done
任何人都可以帮忙吗?
解决方案
IFS=:
本身不是命令;这是命令的预命令分配read
。|
删除分隔它们的管道符号 ( )。do
您还缺少关键字前面的分号或换行符。
while IFS=: read variable1 variable2; do
echo "$variable1"
echo "$variable2"
done < ./examples/secrets.txt
反斜杠是不必要的,并且应该始终引用参数扩展。
推荐阅读
- java - Java 格式字符串到 C#
- android - 如何在 android 中将 asynctask 代码更改为 rxandroid 代码?
- jpa - 有没有办法在 jpa @query 中使用 java LocalDateTime.now()?
- sql - 时间跨度计算
- javascript - 有没有办法在 React.js 中播放 .amr 音频文件?
- android - RecyclerView 中项目之间的动态间距
- javascript - 3 popup div 点击外部关闭
- python - 像数据转换这样的 Python 表的最佳方法
- javascript - 模拟输入输入/文本区域
- database - 在 Mac 中安装 Oracle Instant Client 的问题