No menu items!
No menu items!
More

    [Bash] Lesson 27 – Đọc tệp tin trong Bash

    Đọc file trong Bash

    Có nhiều cách để đọc một file trong Bash Shell Scripting. Dưới đây là một số phương pháp quan trọng (giả sử tên file mà chúng ta đang đọc là ‘read_file.txt’):

    Đọc file sử dụng ‘cat fileName’

    Chúng ta có thể sử dụng cú pháp sau để in nội dung của file lên terminal.

    value=`cat file_name`  

    Ví dụ

    #!/bin/bash  
      
    value=`cat read_file.txt`  
    echo "$value"  

    Kết quả

    Đọc file sử dụng ‘$(<fileName>)’

    Sau đây là cú pháp để đọc nội dung của file bằng cách sử dụng ‘$’

    value=$(file_name)  

    Ví dụ

    #!/bin/bash  
      
    value=$(<read_file.txt)  
    echo "$value"  

    Kết quả

    Đọc nội dung file từ Command-line Nếu chúng ta muốn đọc file từng dòng một từ Command-line mà không sử dụng lệnh ‘cat’, chúng ta có thể chạy lệnh sau để thực hiện công việc:

    while read line; do Command; done < input.file  

    Kết quả

    Ở đây, vòng lặp while sẽ đọc từng dòng của file và lưu nội dung của dòng vào biến $line, sau đó sẽ được in ra sau đó.

    Để đọc nội dung của file sử dụng script, chúng ta cần tạo một file bash và thêm mã sau:

    #!/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  

    Kết quả

    Ở đây, một tên file hiện có được lưu trữ trong biến $file, và biến $i được sử dụng để giữ giá trị của số dòng của dòng đó.

    Truyền tên file từ dòng lệnh và đọc file

    Tạo một tập tin bash và thêm đoạn mã sau đây, sẽ truyền tên file từ dòng lệnh và đọc file từng dòng một. Giá trị đối số đầu tiên được đọc bởi biến $1, nó sẽ bao gồm tên file để đọc. Nếu file có sẵn ở vị trí được chỉ định thì vòng lặp while sẽ đọc file từng dòng một và in nội dung file.

    #!/bin/bash  
      
    file=$1  
    while read line; do  
      
    #Readind each line in sequence  
    echo $line  
    done <read_file.txt  

    Kết quả

    Ở đây, tên file được sử dụng làm giá trị đối số. Đầu ra sẽ cung cấp nội dung của ‘read_file.txt’ mà không có khoảng trắng thừa giữa các từ.

    Đọc file bằng cách bỏ qua Backslash Escape
    Nếu chúng ta muốn đọc từng dòng của một file bằng cách bỏ qua backslash-escape thì chúng ta cần sử dụng tùy chọn ‘-r’ với lệnh ‘read’ trong vòng lặp ‘while’, ví dụ:

    #!/bin/bash  
      
    while read -r line; do  
      
    #Reading each line by omitting backslash escape  
    echo $line  
    done < read_file.txt  

    Kết quả

    Chúng ta có thể cần đọc file cho mục đích lập trình. Ví dụ, chúng ta có thể tìm kiếm hoặc so khớp bất kỳ nội dung cụ thể nào từ file từng dòng một. Do đó, điều này là một tác vụ hữu ích cho bất kỳ ngôn ngữ lập trình nào.

    Bài viết gần đây

    spot_img

    Related Stories

    Leave A Reply

    Please enter your comment!
    Please enter your name here

    Đăng ký nhận thông tin bài viết qua email