Skip to content

Commit 0a84822

Browse files
committed
Fix line numbering to match cat -n and -b behaviour
1 parent da1d1cc commit 0a84822

1 file changed

Lines changed: 9 additions & 13 deletions

File tree

  • implement-shell-tools/cat

implement-shell-tools/cat/cat.py

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -30,21 +30,17 @@
3030

3131
for filepath in args.paths:
3232
with open(filepath, "r", encoding="utf-8") as f:
33-
content = f.read()
34-
35-
lines = content.split("\n")
36-
37-
for line in lines:
38-
if args.number_all_lines:
39-
print(f"{line_number} {line}")
40-
line_number += 1
41-
42-
elif args.number_non_empty_lines:
33+
for line in f:
34+
if args.number_non_empty_lines:
4335
if line.strip() == "":
44-
print(line)
36+
print(line, end="")
4537
else:
46-
print(f"{line_number} {line}")
38+
print(f"{line_number} {line}", end="")
39+
line_number += 1
40+
41+
elif args.number_all_lines:
42+
print(f"{line_number} {line}", end="")
4743
line_number +=1
4844

4945
else:
50-
print(line)
46+
print(line, end="")

0 commit comments

Comments
 (0)