07-10-2019
$NF is the last column in any record read from a file. It is an
awk built-in variable. There are several of them. Since you want the last column changed you need to replace the / character with the - character.
gsub, an awk builtin function, means substitute a pattern (1 or more characters). Use characters a new set of character(s) the replacement.
So using
gsub on
$NF does what you asked for.
See:
AWK Built-in Variables
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hello All
I have file which contain sample data like below -
test.txt
----------------------------------------------
jambesh aaa india
trxxx
sdasd
mentor
asss
light
train
bbblah
---------------------------------------------
I want to write a regX which would print only those... (4 Replies)
Discussion started by: jambesh
4 Replies
2. Shell Programming and Scripting
I've got a file (numbers.txt) filled with numbers and I want to replace each one of those numbers with a new random number between 0 and 9. This is my script so far:
#!/bin/bash
rand=$(($RANDOM % 9))
sed -i s//$rand/g numbers.txtThe problem that I have is that it replaces each number with just... (2 Replies)
Discussion started by: hellocatfood
2 Replies
3. Shell Programming and Scripting
Hi,
I am looking for any script which can do the following.
have to read a pattern from fileA and copy it to fileB.
fileA:
...
...
Header
...
...
..p1
...
...
fileB:
....
....
Header (3 Replies)
Discussion started by: anilvk
3 Replies
4. Shell Programming and Scripting
i need to replace the any special characters with escape characters like below.
test!=123-> test\!\=123
!@#$%^&*()-= to be replaced by
\!\@\#\$\%\^\&\*\(\)\-\= (8 Replies)
Discussion started by: laknar
8 Replies
5. Shell Programming and Scripting
I have a file with 22 lines. Each line has only 5 different chars, no white space, and each line is 3,278,824 in length. The 5 chars is "-", "A", "B", "C", "D".
Below is an example of the first 25 chars of the first four lines of the file.
-----ABCDA--CD-BBBBB----D
--A--ABCD--DCD-BBBBC-----... (12 Replies)
Discussion started by: cwzkevin
12 Replies
6. UNIX for Dummies Questions & Answers
I have input file like this
update tablename set column1='ABC',column2='BBC' where columnx=1 and columny=100 and columnz='10000001'
update tablename set column1='ABC',column2='BBC',column3='CBC' where columnx=1 and columny=100 and columnz='10000002'
update tablename set column1='ABC' where... (1 Reply)
Discussion started by: nsuresh316
1 Replies
7. Shell Programming and Scripting
Hi,
I want to extract the next 7 characters after I encounter the first ( in the code
eg
abc123=(xvn1342)
xyz678123=(ret8901)
I want to extract xvn1342,ret8901.
Please advise how to achieve this with awk, if possible? (9 Replies)
Discussion started by: sidnow
9 Replies
8. Shell Programming and Scripting
Im using the command below , but thats not the output that i want. it only prints the odd and even numbers.
awk '{if(NR%2){print $0 > "1"}else{print $0 > "2"}}'
Im hoping for something like this
file1:
Text hi this is just a test
text1 text2 text3 text4 text5 text6
Text hi... (2 Replies)
Discussion started by: invinzin21
2 Replies
9. Shell Programming and Scripting
How to match a shell variable that contains parenthesis (and other special characters like "!")
file.txt contains:
Charles Dickens
Matthew Lewis (writer)
name="Matthew Lewis (writer)";
awk -v na="$name" ' $0 ~ na' file.txt
Ideally this would match $name in file.txt (in this... (3 Replies)
Discussion started by: Mid Ocean
3 Replies
10. UNIX for Beginners Questions & Answers
I would like to insert n number of characters at the beginning of each line that starts with a given character. If possible, I would be most appreciative for a sed or awk solution.
Given the data below, I would like to be able to insert either 125 spaces or 125 "-" at the beginning of every line... (6 Replies)
Discussion started by: jvoot
6 Replies
LEARN ABOUT DEBIAN
plan9-tr
TR(1) General Commands Manual TR(1)
NAME
tr - translate characters
SYNOPSIS
tr [ -cds ] [ string1 [ string2 ] ]
DESCRIPTION
Tr copies the standard input to the standard output with substitution or deletion of selected characters (runes). Input characters found
in string1 are mapped into the corresponding characters of string2. When string2 is short it is padded to the length of string1 by dupli-
cating its last character. Any combination of the options -cds may be used:
-c Complement string1: replace it with a lexicographically ordered list of all other characters.
-d Delete from input all characters in string1.
-s Squeeze repeated output characters that occur in string2 to single characters.
In either string a noninitial sequence -x, where x is any character (possibly quoted), stands for a range of characters: a possibly empty
sequence of codes running from the successor of the previous code up through the code for x. The character followed by 1, 2 or 3 octal
digits stands for the character whose 16-bit value is given by those digits. The character sequence followed by 1, 2, 3, or 4 hexadecimal
digits stands for the character whose 16-bit value is given by those digits. A followed by any other character stands for that character.
EXAMPLES
Replace all upper-case ASCII letters by lower-case.
tr A-Z a-z <mixed >lower
Create a list of all the words in one per line in where a word is taken to be a maximal string of alphabetics. String2 is given as a
quoted newline.
tr -cs A-Za-z '
' <file1 >file2
SOURCE
/src/cmd/tr.c
SEE ALSO
sed(1)
TR(1)