[英]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.