How to use the command dos2unix (with examples)
- Linux
- December 25, 2023
Dos2unix is a command-line utility that converts files with DOS-style line endings (CRLF) to Unix-style line endings (LF). It helps ensure that text files are compatible across different systems. This article will provide examples of using the dos2unix command for two common use cases.
Use case 1: Change the line endings of a file
Code:
dos2unix filename
Motivation: In some cases, when working with text files, particularly those transferred from Windows to Unix systems, the file may have DOS-style line endings. This can cause issues when trying to read or process the file in Unix, as it expects Unix-style line endings. By using the dos2unix command, we can easily convert the line endings to Unix-style, resolving any compatibility issues.
Explanation: The dos2unix command is invoked with the name of the file as the argument. It reads the specified file, changes any DOS-style line endings to Unix-style, and overwrites the original file with the converted version.
Example output: Suppose we have a file named “example.txt” with DOS-style line endings. After running the following command:
dos2unix example.txt
The command will convert the line endings of the file to Unix-style. If we open the file in a text editor, we will see that the line endings have been changed.
Use case 2: Create a copy with Unix-style line endings
Code:
dos2unix -n filename new_filename
Motivation: There may be instances where we want to create a copy of a file but with Unix-style line endings. This can be useful if we wish to keep the original file intact or if we want to preserve the original line endings for some reason.
Explanation: In this use case, we use the dos2unix command with the “-n” option, followed by the name of the original file and the desired name for the new file. The “-n” option prevents the original file from being modified. The dos2unix command reads the original file, changes any DOS-style line endings to Unix-style, and writes the converted content to the new file.
Example output: Let’s consider we have a file named “example.txt” with DOS-style line endings. By executing the following command:
dos2unix -n example.txt new_example.txt
The command will create a new file named “new_example.txt” with the same content as the original file, but with Unix-style line endings. The original file, “example.txt,” remains unchanged.
Conclusion:
The dos2unix command is a handy tool for converting the line endings of text files from DOS-style to Unix-style. In this article, we explored two common use cases: changing the line endings of a file and creating a copy with Unix-style line endings. By utilizing the dos2unix command, we can ensure file compatibility and resolve any issues caused by incompatible line endings.