Skip to main content

working with files in Linux

Sometimes while doing hacking , we come across one problem where we have two tools to get something for example getting subdomains from sublist3r and subfinder . we get some different subdomains in both the files. Now , we want to merge it and get unique subdomain.

In this tutorial we will learn 

  • how to merge to files in linux

  • How to sort the content of file

  • How to remove duplicate lines from a file.


How to merge two files in linux ?

There are two ways to to merge to files in linux . 

Suppose we have files aayush1.txt and aayush2.txt .

In aayush1.txt the content is 



In aayush2.txt the content is 



To merge these two files we use the command : 


cat file1.txt file2.txt > file3.txt



Now applying the above command to our aayush1.txt and aayush2.txt 




Now after merging files and writing content into aayush3.txt. 

Lets see aayush3.txt 



Same work can be done with this command : 


cat  file1.txt file2.txt | > file3.txt 



In Linux, the operator ` |`  is called a pipe.


How to sort the content of merged file alphabetically ?


Lets say we have file sorting.txt. 

The content of sort is : 



We want to sort the content of this file. 


Command used to sort the content of this file is : 


cat file.txt | sort | > file.txt 


The above command says that we read a file and sort the content then overwrite the content into the same file.


Now to merge the file with content in sorted form , we use the command : 


cat file1.txt file2.txt | sort | > file3.txt



How to remove duplicate content from file ? 

Suppose we have a file duplicate.txt. 

The content of duplicate is : 




To remove the duplicate content is same as getting the unique content. This is the logic used in linux to remove duplicate content.

The command is : 


cat  file1.txt | uniq | > file1.txt


Applying  this command ,



Now we get , 



If you think that why `varun` is duplicated here, actually it is not duplicate. One is ‘varun<space>’ and another is `varun` only, which is not visible here.


Finally now to get the merged file with sorted and unique content we will use the command : 


cat file1.txt file2.txt | sort | uniq > merged.txt


Applying this command , you will get sorted and unique content from two files.



Comments

Popular posts from this blog

leetcode 48 solution

  48 .  Rotate Image You are given an  n x n  2D  matrix  representing an image, rotate the image by  90  degrees (clockwise). You have to rotate the image  in-place , which means you have to modify the input 2D matrix directly.  DO NOT  allocate another 2D matrix and do the rotation.   Example 1: Input: matrix = [[1,2,3],[4,5,6],[7,8,9]] Output: [[7,4,1],[8,5,2],[9,6,3]] Example 2: Input: matrix = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]] Output: [[15,13,2,5],[14,3,4,1],[12,6,8,9],[16,7,10,11]]   Constraints: n == matrix.length == matrix[i].length 1 <= n <= 20 -1000 <= matrix[i][j] <= 1000 solution: class Solution { public:     void swap(int& a , int &b)     {         int c ;         c = a;         a = b;         b = c;     }     void transpose (vector<vector<int>...

2485. Find the Pivot Integer | Binary search

  Given a positive integer   n , find the   pivot integer   x   such that: The sum of all elements between  1  and  x  inclusively equals the sum of all elements between  x  and  n  inclusively. Return  the pivot integer  x . If no such integer exists, return  -1 . It is guaranteed that there will be at most one pivot index for the given input.   Example 1: Input: n = 8 Output: 6 Explanation: 6 is the pivot integer since: 1 + 2 + 3 + 4 + 5 + 6 = 6 + 7 + 8 = 21. Example 2: Input: n = 1 Output: 1 Explanation: 1 is the pivot integer since: 1 = 1. Example 3: Input: n = 4 Output: -1 Explanation: It can be proved that no such integer exist.   Constraints: 1 <= n <= 1000 Solution : class Solution { publ ic:     int pivotInteger( int n ) {         int sum = (( n )*( n + 1 ))/ 2 ;         int i = 1 ;         int j =...

Regular Expression Matching Leetcode Solution

Regular Expression Matching Given an input string s and a pattern p, implement regular expression matching with support for '.' and '*' where: '.' Matches any single character.​​​​ '*' Matches zero or more of the preceding element. The matching should cover the entire input string (not partial). Example 1: Input: s = "aa", p = "a"  Output: false  Explanation: "a" does not match the entire string "aa". Example 2: Input: s = "aa", p = "a*"  Output: true  Explanation: '*' means zero or more of the preceding element, 'a'. Therefore, by repeating 'a' once, it becomes "aa". Example 3: Input: s = "ab", p = ".*"  Output: true  Explanation: ".*" means "zero or more (*) of any character (.)". Constraints: 1 <= s.length <= 20 1 <= p.length <= 20 s contains only lowercase English letters. p contains only lowercase Englis...