逐行阅读文本文件的bash脚本
Contents
1. 概述
在本教程中,我们将创建一个逐行读取文本文件的小脚本。
**当我们想要对文本文件的每一行执行特定操作时,此脚本会很有帮助。**例如,我们可以打印屏幕上的每一行。
2. 文本文件
假设我们有一个名为 lines.txt的文本文件:
$ cat lines.txt
first line
second line
\\third line
现在我们已经创建了文本文件,让我们看一下脚本。
3. 脚本
该脚本应接收文件名作为参数。澄清一下,$1变量包含第一个参数:
#!/bin/bash
# Receive file name as first argument
file_name=$1
while read -r line; do
# Reading line by line
echo "$line"
done < $file_name
在这里,我们只是在屏幕上打印 *line变量。此外,如果我们想做其他事情,我们可以替换echo “$line”这一行。此外, -r标志告诉read *不允许反斜杠转义。
结果,第三行将按原样显示。
4. 使脚本可执行
现在我们已经创建了脚本,我们应该让它可执行:
$ chmod u+x read_lines.bash
该脚本现在是可执行的。
5. 运行脚本
我们需要将文件名作为参数提供给脚本:
$ ./read_lines.bash lines.txt
first line
second line
\\third line
我们可以看到每一行都成功的显示在了屏幕上。