We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
- Prepare
- Linux Shell
- Text Processing
- Cut #7
- Discussions
Cut #7
Cut #7
Sort by
recency
|
98 Discussions
|
Please Login in order to post a comment
Okay guys, I understand that at first it seems nonsensical, but yes, it prints the first two because the delimiter ' ' space doesn't exist. However, as we saw earlier, before it was tabs and now it's spaces. The sample doesn't have four words, but if you add them, it prints the fourth. The error is the sample; the command works.
sheesh, i too kinda found it really confusing on why are the sample test cases like this, and chatGPT was giving a bunch of bullshit reasons, but this makes a lot of sense, thanks man!
Thank you, my friend, but there are easier ways to solve it. Here are two simpler options:
awk '{print
$4}'prints whatever is in the fourth position, but it also includes empty spaces. If we want to remove them, we can use
awk 'NF >= 4 {print $4}'
, or more specifically with a delimiter:awk -F ' ' 'NF >= 4 {print
$4}', where
-F ' 'sets the space as a delimiter. If the delimiter were a tab, a newline, a dash, a semicolon, or a colon, we just replace it within the quotes. For example, for a tab:
awk -F '\t' 'NF >= 4 {print $4}'
. But it must be done locally because this won't pass the tests. I hope this helps!cut -d ' ' -f4