When learning how to use UNIX utilities, one key thing to learn is to use the right tool for the job.
It isn't just file sizes and whitespace characters in filenames that are a problem here. The ls -l command output width will also float up or down depending not only on the widest file size, but also on the widest link count, widest user name, and widest group name. Note that even if the timestamp on a file is six months old or in the future, that won't make the ls -l output width or field count change in some versions of the ls utility (at least in the POSIX locale and any English language locale I've used; but it certainly could be a factor in other locales).
And, then, since the user wants the names of directories (not the names of all files) and the 1st line of output from the ls -l command is a something like:
where the word "total" may vary depending on the locale and xxx is the number of filesystem blocks occupied by files in the current directory, the cut utility by itself just is not capable of performing the requested task.
If you just want the names of unhidden directories located in the current directory to be printed on separate lines (as long as none of the directory names contains a <newline> character; which would also be a problem when using ls -l), you can easily do that just with shell built-ins in most POSIX-conforming shells:
or, if the trailing slash in the output that produces is a problem:
If trailing slashes aren't a problem and there might not be any directories in the current directory, you could also use:
Note that that is the digit 1, not the lowercase letter l in the options after -d.
Last edited by Don Cragun; 10-07-2016 at 06:52 PM..
Reason: Fix typos.
This User Gave Thanks to Don Cragun For This Post:
Hi
I am using 'find' on a particular directory which has some subdirectories too,so when I search for .txt files from the parent directory, it gives all files that matches the pattern in the parent aswellas in the sub directories .
eg:
Iam at /a/b/c
where c has many other directories in it ... (7 Replies)
I have a file that contains:
yahoo.com.23456
web.log.common.us.gov.8675
192.168.1.55.34443
john-doe.about.com.22233
64.222.3.4.120
sunny.ca.4442
how can i remove the strings after the last dot (.) and reprint the file?
Thanks. (3 Replies)
Hi
Can anyone what I am doing wrong while using cut command.
for f in *.log
do
logfilename=$f
Log "Log file Name: $logfilename"
logfile1=`basename $logfilename .log`
flength=${#logfile1}
Log "file length $flength"
from_length=$(($flength - 15))
Log "from... (2 Replies)
Hi all,
Using grep command, i want to find the pattern of text in all directories and sub-directories.
e.g: if i want to search for a pattern named "parmeter", i used the command
grep -i "param" ../*
is this correct? (1 Reply)
Hey everyone
I have a file 'agenda' which contains:
Object Day Month Year
Birthday 09 02 2012
i want to extract from a script the line which contains the day the user typed.
for example if he type 09 the line is showed using... (4 Replies)
Hi guys :)
First of all Happy New Year :)
so i dont know if my doubt its already here posted by other person ...
i need to print to one file the path of few files that are in different directories, like this:
directory muscle
ATP6.aa.muscle.fasta
COX1.aa.muscle.fasta
.
.
.
... (2 Replies)
hay
i am trying to get JUST the PID from the ps command.
my command line is:
ps -ef | grep "mintty" | cut -d' ' -f2
but i get an empty line. i assume that the delimiter is not just one space character, but can't figure out what should i do in order to do that.
i know i can use awk or cut... (8 Replies)
I have this filename "RBD_EXTRACT_a3468_d20131118.tar.gz" and I would like print out the "yyyymmdd" only. I use this command below, but if different command like cut or print....etc. Thanks
ls RBD_EXTRACT* | sed 's/.*\(........\).tar.gz$/\1/' > test.txt (9 Replies)
I'm a complete beginner in UNIX (and not a computer science student either), just undergoing a tutoring course. Trying to replicate the instructions on my own I directed output of the ls listing command (lists all files of my home directory ) to My_dir.tsv file (see the screenshot) to make use of... (9 Replies)