====== BASH - Commands - cut - Cut using Characters ====== Cut a section of text based on characters. Useful when handling large file processing tasks. ---- ===== Cut a Single Character from the Input Stream ===== echo "cutting text from input" | cut -c 1 The above command cuts the first character from the standard input and displays it in the terminal. In this case, it is “c“. ---- ===== Cut Specific Characters from the Input Stream ===== echo "cutting text from input" | cut -c 1,3 This command will cut only the first and third characters of the input string and show them. Remember not to exceed the character limit of your string. ---- ===== Cut a Range of Characters from the Input Stream ===== echo "cutting text from input" | cut -c 1-12 Cuts characters from the first position to the twelfth position. The result will be “cutting text“. ---- ===== Cut a Single Character from a Text file ===== cut -c 1 test.txt Displays only the first characters of each of the five rows of our file test.txt. It is equivalent to the command cat test.txt | cut -c 1 and provides the same result as we would get when using the byte flag. ---- ===== Cut Specific Characters from the a File ===== cut -c 7,10 test.txt Cuts only the seventh and tenth characters of each five rows. You can specify any character positions as long as they fall within the range of available characters. ---- ===== Cut a Range of Characters a Text File ===== cut -c 1-12 test.txt Outputs the first one to twelfth characters of each line in the test.txt file. The cut command in Unix behaves the same when cutting a range of characters and range of bytes. ---- ===== Cut from a Specific Character to the End of the Input Stream ===== echo "cutting text from input" | cut -c 5- The above cut command will cut the text starting from the fifth byte to the end of the string. It can be beneficial when you need to cut from a specified character position until the end of the input stream. Simply change the value after b while keeping the trailing – on. ---- ===== Cut from a Specific Character to the End of the File ===== cut -c 5- test.txt This command will start cutting each of the five rows of the test.txt file from their fifth character position and will finish after reaching the end of every line. The trailing hyphen(-) is mandatory for this kind of operation. ---- ===== Cut a Specified Amount of Characters Starting from beginning of a string ===== echo "cutting text from input" | cut -c -5 This command will only cut the first five character positions of our input. Remember to add the preceding hyphen(-) else the output will not be the same as you expect. ---- ===== Cut from the First Character to a Specified Position from a File ===== cut -c -5 test.txt This cut command in Unix will cut the first five characters of each line from the file test.txt. Notice how the hyphen(-) is being used for the commands 21-24 in this list. ---- ===== Cut the First few Characters in Alphabetical Order ===== cut -c 1-5 test.txt | sort Cuts the first five bytes of each row alphabetically. The sort command doesn’t require any options when sorting alphabetically. ---- ===== Cut the First few Characters in Reverse Order ===== cut -c 1-5 test.txt | sort -r Cuts the first five characters from each row and will show them after sorting in reverse. ---- **************************************************************************************************************************************** **************************************************************************************************************************************** **************************************************************************************************************************************** **************************************************************************************************************************************** **************************************************************************************************************************************** ---- ===== Character Cuts ===== ==== Cut a single character ==== cut -c 3 abcdef returns: c ---- ==== Cut a range of characters ==== A range must be provided in each case which consists of one of N, N-M, N-(N to last) or -M (first to M) cut -c 2-4 abcdef Press CTRL+D to stop inputting returns: bcd ---- ==== Cut a variety of characters ==== cut -c 2,4,7 alongtext returns: lne ---- ==== Cut characters up to a specific position ==== cut -c -2 abcdef returns: ab ---- ==== Cut characters from a specific position ==== cut -c 2- abcdef returns: bcdef ---- ==== Cut various characters ==== cut -c 1,6-9,16- alongtextwithnospaces returns: atextspaces ----