Here’s a quick Scala example that shows how to convert multiple spaces in a string to a single space:
Linux grep commands FAQ: Can you share some Linux/Unix grep command examples?
Sure. The name grep means "general regular expression parser", but you can think of the
grep command as a "search" command for Unix and Linux systems: it's used to search for text strings and more-complicated "regular expressions" within one or more files.
I think it's easiest to learn how to use the
grep command by showing examples, so let's dive right in.
This is an excerpt from the Scala Cookbook (partially modified for the internet). This is Recipe 1.9, “Extracting Parts of a String that Match Patterns.”
You want to extract one or more parts of a Scala
String that match the regular-expression patterns you specify.
Define the regular-expression (regex) patterns you want to extract, placing parentheses around them so you can extract them as “regular-expression groups.” First, define the desired pattern:
Here’s a Unix shell script that I use to search Java JAR files for any type of pattern. You can use it to search for the name of a class, the name of a package, or any other string/pattern that will show up if you manually ran
jar tvf on each jar file. The advantage of this script — if you’re a Unix, Linux, or Cygwin user — is that it will search through all jar files in the current directory:
I don’t have much time to explain this today, but ... if you want to see how to use the
sed command on a Mac OS X (macOS) system to search for newline characters in the input pattern and replace them with something else in the replacement pattern, this example might point you in the right direction.
As I mentioned in my How to find multiple filenames with Linux find tutorial, you can use
find command syntax like this to find files with multiple filename extensions:
find iTunes \( -name "*.mp3" -o -name "*.m4a" \)
As that command shows, I ran this
find command to find all of my music files under my iTunes directory, including .mp3 and .m4a filename extensions.
While I’m in the neighborhood, this is the full
find command I use to backup all of my iTunes files that have changed or been added in the last 180 days:
find iTunes \( -name "*.mp3" -o -name "*.m4a" \) -type f -mtime -180 -print0 | xargs -0 tar rvf NewMusic.tar
There’s probably an easier way to do this, but that backup command works for me.
Java FAQ: How can I use multiple regular expression patterns with the
replaceAll method in the Java
Here’s a little example that shows how to replace many regular expression (regex) patterns with one replacement string in Scala and Java. I’ll show all of this code in Scala’s interactive interpreter environment, but in this case Scala is very similar to Java, so the initial solution can easily be converted to Java.
Note: The code shown below is a bit old. If you want to perform a “search and replace” operation on all instances of a given pattern, all you have to do these days is use the
replaceAll method on a Java
String, like this:
String s = "123 Main Street"; String result = s.replaceAll("[0-9]", "-");
That second line of code returns the string “
--- Main Street”. I kept the information below here for background information.