Skip to content

Commit d5912a7

Browse files
committed
Add -b flag to number non-empty lines
1 parent f4ce299 commit d5912a7

1 file changed

Lines changed: 24 additions & 10 deletions

File tree

  • implement-shell-tools/cat

implement-shell-tools/cat/cat.py

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,38 @@
22

33
args = sys.argv[1:]
44

5-
show_numbers = False
5+
option = "none"
66
paths = []
77

8-
# separate flags and paths
8+
# parse args
99
for arg in args:
1010
if arg == "-n":
11-
show_numbers = True
11+
option = "n"
12+
elif arg == "-b":
13+
option = "b"
1214
else:
1315
paths.append(arg)
1416

1517
for path in paths:
1618
with open(path, "r") as file:
1719
lines = file.readlines()
1820

19-
if show_numbers:
20-
i = 1
21-
for line in lines:
22-
print(f"{i} {line.rstrip()}")
23-
i += 1
24-
else:
25-
print("".join(lines))
21+
line_number = 1
22+
23+
for line in lines:
24+
25+
line = line.rstrip("\n")
26+
27+
if option == "n":
28+
print(f"{line_number} {line}")
29+
line_number += 1
30+
31+
elif option == "b":
32+
if line != "":
33+
print(f"{line_number} {line}")
34+
line_number += 1
35+
else:
36+
print("")
37+
38+
else:
39+
print(line)

0 commit comments

Comments
 (0)