Skip to content

Commit c7e3909

Browse files
committed
cat folder update code to implement -b flag
1 parent aad36ba commit c7e3909

1 file changed

Lines changed: 15 additions & 1 deletion

File tree

  • implement-shell-tools/cat

implement-shell-tools/cat/cat.py

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,18 @@
66

77
# to number all lines
88
parser.add_argument("-n", action="store_true", help="Number all lines")
9+
10+
# to number non-blank lines
11+
parser.add_argument("-b", action="store_true", help="Number non-blank lines (overrides -n)")
12+
913
# To raed files
1014
parser.add_argument("files", nargs="+", help="Files to read")
1115

1216
args = parser.parse_args()
1317

18+
if args.n and args.b:
19+
args.n = False
20+
1421
line_number = 1
1522

1623
for file in args.files:
@@ -21,7 +28,14 @@
2128

2229
with open(file, "r") as f:
2330
for line in f:
24-
if args.n:
31+
if args.b:
32+
if line.strip(): #to number non blank lines only
33+
print(f"{line_number:6}\t{line}", end="")
34+
line_number += 1
35+
else:
36+
print(line, end="") # to print blank line with number
37+
38+
elif args.n:
2539
print(f"{line_number:6}\t{line}", end="") # to print number all lines
2640
line_number += 1
2741
else:

0 commit comments

Comments
 (0)