在Bash Shell脚本中,可以使用多种方法来读取文件。下面列出了一些重要的方法(假设我们正在读取的文件名为’
read_file.txt’
):
使用“ cat fileName”读取文件
我们可以使用以下语法将文件内容打印到终端。
value=http://www.srcmini.com/`cat file_name`
例
#!/bin/bashvalue=http://www.srcmini.com/`cat read_file.txt`
echo"$value"
输出量
文章图片
使用’ $(
以下是使用“ $”读取文件内容的语法
value=http://www.srcmini.com/$(file_name)
例
#!/bin/bashvalue=http://www.srcmini.com/$(<
read_file.txt)
echo"$value"
【bash读取文件read】输出量
文章图片
从命令行读取文件内容
如果要从命令行逐行读取文件而不使用’ cat’ 命令,则可以运行以下命令来执行任务:
命令
while read line;
do Command;
done <
input.file
输出量
文章图片
在这里,while循环将到达文件的每一行,并将该行的内容存储在$ line变量中,该变量将在以后打印。
使用脚本读取文件内容
要使用脚本读取文件内容,我们需要创建一个bash文件并添加以下代码:
Bash脚本
#!/bin/bashfile='read_file.txt'i=1
while read line;
do#Reading each line
echo "Line No. $i : $line"
i=$((i+1))
done <
$file
输出量
文章图片
在这里,现有文件名存储在$ file变量中,而$ i变量用于保留该行的行号的值。
从命令行传递文件名并读取文件
创建一个bash并添加以下脚本,该脚本将从命令行传递文件名并逐行读取文件。第一个参数值由变量$ 1读取,该变量将包含要读取的文件名。如果文件在指定位置可用,则while循环将逐行读取文件并打印文件内容。
Bash脚本
#!/bin/bashfile=$1
while read line;
do#Readind each line in sequence
echo $line
done <
read_file.txt
输出量
文章图片
在此,文件名用作参数值。输出将提供“ read_file.txt”的内容,单词之间没有多余的空格。
通过省略反斜杠转义来读取文件
如果我们要通过省略反斜杠转义来逐行读取文件的每一行,则需要在’ while’ 循环中将’ -r’ 选项与’ read’ 命令一起使用,例如:
Bash脚本
#!/bin/bashwhile read -r line;
do#Reading each line by omitting backslash escape
echo $line
done <
read_file.txt
输出量
文章图片
我们可能出于多种编程目的需要读取文件。例如,我们可以轻松地逐行搜索或匹配文件中的任何特定内容。因此,对于任何编程语言而言,这都是一项有用的任务。