Contents

逐行阅读文本文件的bash脚本

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

我们可以看到每一行都成功的显示在了屏幕上。