Bash 读取文件
Bash 读取文件
在 Bash Shell 脚本中,我们可以使用多种方法来读取文件。下面给出了一些重要的方法(假设我们正在读取的文件名为"read_file.txt"):
Reading File Using 'cat fileName'
我们可以使用以下语法将文件内容打印到终端。
示例
#!/bin/bash
value=`cat read_file.txt`
echo "$value"
输出
使用 '$(
) 读取文件
以下是使用 '$' 读取文件内容的语法
示例
#!/bin/bash
value=$(<read_file.txt)
echo "$value"
输出
从命令行读取文件内容
如果我们想在不使用"cat"命令的情况下从命令行逐行读取文件,我们可以运行以下命令来执行任务:
命令
while read line; do Command; done < input.file
输出
这里,而循环将到达文件的每一行并将该行的内容存储在稍后打印的 $line 变量中。
使用脚本读取文件内容
To使用脚本读取文件内容,我们需要创建一个bash文件并添加如下代码:
Bash Script
#!/bin/bash
file='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/bash
file=$1
while read line; do
#Readind each line in sequence
echo $line
done <read_file.txt
输出
这里是文件名用作参数值。输出将提供"read_file.txt"的内容,单词之间没有多余的空格。
通过省略反斜杠转义来读取文件
如果我们想读取每个通过省略反斜杠转义逐行文件然后我们需要在'while'循环中使用'-r'选项和'read'命令,例如:
Bash 脚本
#!/bin/bash
while read-r line; do
#Reading each line by omitting backslash escape
echo $line
done < read_file.txt
输出
我们可能需要出于多种编程目的读取文件。例如,我们可以轻松地从文件中逐行搜索或匹配任何特定内容。因此,对于任何编程语言来说,它都是一项有用的任务。