View text files. Learn how to display text files page by page and view them dynamically as they are being written. View nontext files. View binary and compressed files. Search files. Say hello to grep and friends—the Unix equivalent of Spotlight. Sort and compare files. Unix has some handy utilities to process text files. Compress files. Create a New Blank Text File in Any Folder on Your Mac By Mahesh Makvana – Posted on Jul 19, 2016 Jul 18, 2016 in Mac One of the features I liked the most when I was a Windows user was the ability to create a new file right from the context menu that appeared when.
Active2 years, 3 months ago
I'd like to find all files that contain a certain string of text. How would you do that in the Terminal?
Chealion22.6k77 gold badges6161 silver badges7171 bronze badges
SvishSvish17.9k5555 gold badges112112 silver badges170170 bronze badges
5 Answers
Ignacio Vazquez-AbramsIgnacio Vazquez-Abrams98.7k77 gold badges162162 silver badges217217 bronze badges
user46046user46046
- Through Ack
brew install ack ack 'text goes here'
- Through find
find . |grep 'text goes here'
- Through grep
grep -RnslI 'text goes here'
Anant GuptaAnant Gupta
You can choose one of the below depending on your taste and needs. Supposing you need to search for files containing text - 'async', recursively in current directory, you can do so in one of the ways like below:
Using grep
Using ack
karthikskarthiks
Ignacio's Answer is great and helped me find the files containing certain text. The only issue I was facing was that when running this command all the files would be listed, including one where the pattern did not show up.
No such file or directory
This is what I see alongside files that do not contain the pattern.If instead you add
-s
to the command, as in:grep -lr 'text pattern' ./ -s
; grep -lr 'text pattern' [PATH DIRECTORY] -s
is used, it will only show you which files contain the pattern.Similarly if
grep -nr 'text pattern' ./ -s
; grep -nr 'text pattern' [PATH OF DIRECTORY] -s
command is used it prints the file plus the line number, and occurrence of the pattern.Please correct me if my understanding is wrong.
CP3OCP3O
Not the answer you're looking for? Browse other questions tagged macosmacunixterminalsearch or ask your own question.
Active1 year ago
There is a file named
RESULTS.txt
and I want to open this file in my terminal. (I mean I want to see the file contents be displayed in the terminal and not in some text editor)How do I do that ?
We're looking for long answers that provide some explanation and context. Don't just give a one-line answer; explain why your answer is right, ideally with citations. Answers that don't include explanations may be removed.
16 Answers
For short files:
directly shows a text file in the terminal.
For longer files:
lets you scroll and search (/
text to search
Enter) in the file; press q to exit.e.g.
Another alternative is
vim
. Once you opened a file with vim you can insert text by typing
i
, for instance. If you want to save your file use :w
(write) or :q
(quit) or :wq
(for write and quit) or :q!
(quit and do not save). Sometimes you need to hit the ESC key to be able to type the commands.Vim requires some learning, but is widely used and it is very versatile.
Check the community help wiki: https://help.ubuntu.com/community/VimHowto
Vim is an advanced text editor that provides the power of the de-facto Unix editor 'Vi' with a more complete feature set. Vim is often called a 'programmer's editor,' and is so useful for programming that many consider it an entire IDE. It's not just for programmers, though. Vim is perfect for all kinds of text editing, from composing email to editing configuration files.
all those are best ways and there is one more way to do this & that’s with
head
command.and
both will give you the same input.
Head command Explanation:
Generally head command used to print the starting lines of the any text file.we can view the text file with
That will prints the 1st 10 lines of the above text file.
If you want to specific on the number of lines which are to be view then you can use head as
Then in the above text file first 20 lines will be viewed.
If you want to view whole file data with head means then then we can get it by
Hope that above explanation will give you some idea on usage of head.
If the file is rather long, you might want to use
so that you can navigate through it with directional keys.
Another option is:
to print out the last 30 lines of a large file named
result.txt
.Another option:
It will show you the last ten lines of
your_file
. If a process appends something to this file, you see it on your terminal. man tail
gives you more on tail
.Find Command Mac Terminal
It's useful to see what happens with a server when you use this command on a log file.
Press Ctrl-C to quit when you are done viewing.
There are a lot of alternatives for doing that:
Some of these programs have a lot of parameters, so check that out with --help after the command..
cat filename
prints the whole file at oncemore
/less filename
similar behaviour for see the file in partstail filename
start reading from the tail of the filegrep text filename
for filtering results
Hope that some of this works for you..
With a terminal text editor:
nano /path/to/file/RESULTS.txt
Lots of good options provided here already, but another option if you need to edit is emacs:
might not need the
-nw
, depending. You may also have to apt-get install emacs23
or apt-get install emacs24
, or if you don't have X or don't want related X dependencies, apt-get install emacs23-nox
or apt-get install emacs24-nox
.And in addition to
cat
and less
as mentioned elsewhere, there is more
. More is less, because you see a page at a time and can't scroll via the command itself, but you can scroll with the terminal window, if you have a scrolling terminal window:If you're in bash, you have something similar to
cat
by doing:If you just want to read the file content, go in the file directory and type
If you want to read and edit the text file, from the same directory type
The
-w
switch in the nano command can be inserted before the file name to prevent wrapping of long lines.If you need to edit the content of the file i commonly use nano.
or just
vi YourFile
use hjkl buttons to move line left/down/up/right, Esc then :q to quit
and you can PageUp/PageDown
you can also edit it here in a stright way
here you'll find more link
The shell programm
sed
also has an option to print out the contents of a file.So
sed
walks through every line and prints it to the terminal. But sed
also has editing capabilities. For instance if you want to replace each comma with a dot you can write:As we seem to be listing all available alternatives of displaying any text file in the terminal, it would be quite fun to introduce
pv
as technically one valid (but unusual) method, although I would normally use cat
instead for most things. It is in the repositories and so can be installed with
sudo apt-get install pv
if you don't have it already.As the man page notes,
pv
is very often used to monitor the progress of data through a pipe...pv will copy each supplied FILE in turn to standard output (- means standard input), or if no FILEs are specified just standard input is copied. This is the same behaviour as cat(1).
With
pv
you can literally print the file to the screen, and choose the rate (-L
) at which it appears. The example below uses a high rate (300), but if you choose a low rate such as -L 50
, it will appear as if the computer is typing out the file for you. Needless to say you can increase the rate further (
-L 8000
), and the command becomes very similar to cat
, with the output appearing instantaneously. For more information see
man pv
or the Ubuntu manpages online.Search Files In Windows 10
Another more exotic answer is to use
grep
:The
grep
command searches for a every character in the file and prints it out. So basically the complete file is printed out.Why not.
You can also use
It's almost the same as
less
, but it also supports horizontal scrolling if the file contains long lines - which is really handy.most
is not installed by default, so to use it, you have to firstMac Terminal Find
protected by jokerdino♦Feb 28 '13 at 9:27
Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?
Would you like to answer one of these unanswered questions instead?