Using sed to add text to the end of each line in Linux.
In this example we are going to use sed to add text to the end of each line in Linux. More specifically in a text file in Linux using a bash one liner! Why would we want to do this? Multiple reasons if your penetration tester. Creating user name lists or adding ports to the end of IP addresses for example. Sed is used to perform basic text transformations you can read more about it here.
So for example if we wanted to add ‘:80’ to the end of each line for a list of IP address we would do the following:
sed ‘s/$/:80/’ IP.txt > new_IP.txt
~$cat IP.txt 192.168.0.1 192.168.0.2 192.168.0.3 192.168.0.4 192.168.0.5 ~$sed 's/$/:80/' IP.txt > new_IP.txt ~$cat new_IP.txt 192.168.0.1:80 192.168.0.2:80 192.168.0.3:80 192.168.0.4:80 192.168.0.5:80
Or if we found we wanted to add ‘adm’ to the end of each line in a list of user names we would also use sed.
~$cat admins.txt adam bob bill james jane ~$sed 's/$/adm/' admins.txt > new_admins.txt ~$cat new_admins.txt adamadm bobadm billadm jamesadm janeadm ~$
Having these small bash commands to hand is super useful. As a penetration tester I am always find that I need to script something in Bash or PowerShell or needing to produce one liners. Having these commands to ready and waiting saves time looking them up. Hopefully you will also find them useful. Don’t forget the man pages for bash commands. Practice, practice and more practice.