簡體   English   中英

練習 Linux Shell 腳本

[英]Practice Linux Shell Scripting

我的家庭作業是寫一個shell腳本來讀取一個“log.txt”並逐行顯示其注釋。 每行都應以其行號作為前綴。

我到目前為止的腳本:

path="/home/user/log.txt"
while i=read -r line
do
   echo "$line"
done < "$log_file"

輸入文件:

How are you
Where are you

預期輸出:

1. How are you
2. Where are you

考慮添加一個計數器,在每一行上增加一個計數器,然后在每一行打印計數器。

還要注意設置 log_file 的修復,更新為讀取命令。

log_file="/home/user/log.txt"
line_no=0
while read -r line
do
   line_no=$((line_no+1))
   printf "%d. %s\n" $line_no "$line"
done < "$log_file"

要考慮的一種替代方法是調用執行確切任務的nl實用程序。

在python 3.8中這有效

count = 0 with open("log.txt") as file_in: lines = [] for line in file_in: lines.append(line) print('{} {}'.format(count, line)) count +=1

不是shellscript,而是一些實用程序/程序可以做到這一點。

grep -n . logfile.txt

cat -n logfile.txt

awk '{print NR" "$0}' logfile.txt

還有很多...

這是一個使用 bash 的方法。

#!/usr/bin/env bash

n=0

while IFS= read -r line; do
  printf '%d. %s\n' "$n" "$line"
  ((n++))
done < logfile.txt

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM