这看起来应该很简单,但一直让我疯狂,试图找到一种方法来表达搜索来回答它.
很简单,我有一个文件结构为三列,包括名称,路径和模式.循环遍历这些行时,我想将其中的每一个提取到自己的变量中以供使用.
我目前的解决方案是(原谅错别字):
while read line
do
name=$(echo "$line" | awk '{print $1}')
path=$(echo "$line" | awk '{print $2}')
pattern=$(echo "$line" | awk '{print $3}')
done < "myFile.txt"
Run Code Online (Sandbox Code Playgroud)
然而,这似乎是一种非常低效的方法,因为它意味着awk为每个变量调用一次.那么,有更好的方法吗?分隔符目前只是一个选项卡,但我可以将其更改为更容易使用的任何内容.
while read name path pattern
do
# Do something
done < myFile.txt
Run Code Online (Sandbox Code Playgroud)
如果你想将分隔符更改为其他内容,例如,:
while IFS=, read name path pattern
do
# Do something
done < myFile.txt
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
200 次 |
| 最近记录: |