Overview
The `paste` command takes content from the same line number across multiple input files and combines them into a single line. By default, it uses a tab character to separate the content from each file, but you can specify a custom delimiter using the `-d` option.
Key Features
- Horizontally merges lines from multiple files
- Allows specifying custom delimiters (using the `-d` option)
- Processes data from standard input or files
- Useful for creating simple CSV or TSV files
Key Options
Delimiter and Processing
Generated command:
Try combining the commands.
Description:
`paste` Executes the command.
Combine the above options to virtually execute commands with AI.
Usage Examples
Basic Usage (Tab Delimited)
echo "apple\nbanana" > fruits.txt
echo "red\nyellow" > colors.txt
paste fruits.txt colors.txt
Merges the content of two files line by line, separated by tabs.
Merging with Comma (,) Delimiter
echo "apple\nbanana" > fruits.txt
echo "red\nyellow" > colors.txt
paste -d ',' fruits.txt colors.txt
Uses the `-d` option to specify a comma as the delimiter.
Merging with Space Delimiter
echo "apple\nbanana" > fruits.txt
echo "red\nyellow" > colors.txt
paste -d ' ' fruits.txt colors.txt
Merges file content using a space as the delimiter.
Using Multiple Delimiters Cyclically
echo "1\n2\n3" > file1.txt
echo "A\nB\nC" > file2.txt
echo "X\nY\nZ" > file3.txt
paste -d ',=' file1.txt file2.txt file3.txt
When multiple delimiters are specified with the `-d` option, they are applied cyclically to each file.
Using with Standard Input
echo "1\n2\n3" | paste -d ',' - <(echo "A\nB\nC")
Uses `-` instead of a filename to utilize standard input as an input for `paste`.
Serial Processing (-s Option)
echo "1\n2\n3" > num.txt
echo "A\nB\nC" > char.txt
paste -s num.txt char.txt
Uses the `-s` option to process all lines of each file before moving to the next.
Tips & Notes
The `paste` command is a simple yet powerful text processing tool. It is particularly useful for creating CSV files or analyzing log files.
Usage Tips
- **Using Multiple Delimiters**: Specifying multiple characters with the `-d` option applies delimiters cyclically to each input file. For example, `paste -d ',|' file1 file2 file3` uses `,` between `file1` and `file2`, and `|` between `file2` and `file3`.
- **Processing Standard Input**: Using `-` instead of a filename allows `paste` to accept standard input, which is very useful in pipelines.
- **Combining with Other Commands**: More complex data manipulation can be achieved by combining `paste` with other text processing commands like `cut`, `awk`, and `sed`. For instance, you can extract specific columns using `cut` and then merge them with `paste`.
- **Handling Empty Lines**: If an input file contains empty lines, `paste` will insert an empty string at that position, outputting only the delimiter.