Cut a string for last 8 characters


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Cut a string for last 8 characters
# 1  
Old 08-26-2013
Cut a string for last 8 characters

Hello All

I have a file like this

Code:
abc.tpt.ctl
bdc.tpt.ctl
cdw.tpt.ctl

I have looped every line using the for Loop, now I want to take each line and cut the .tpt.ctl part of it and store it in a variable and use the variable in same loop.

The part I am stuck at is how do I cut the last 8 characters of each line or a single line using cut command
# 2  
Old 08-26-2013
awk solution

Using awk

Code:
awk '{print substr($0,length($0)-7)}' filename

This User Gave Thanks to krishmaths For This Post:
# 3  
Old 08-26-2013
Try:
Code:
for i in *.tpt.ctl
do
  var=${i%.tpt.ctl}
  printf "%s\n" "$var"
done

This User Gave Thanks to Scrutinizer For This Post:
# 4  
Old 08-26-2013
Or using sed:

sed 's/\(.*\).\{8\}$/\1/' file

Last edited by Subbeh; 08-26-2013 at 05:03 AM..
This User Gave Thanks to Subbeh For This Post:
# 5  
Old 08-26-2013
@krishmaths
Simpler approach
Code:
awk -F. '{print $1}'

But why do it complicate, when we can do it the Scrutinizer way Smilie
This User Gave Thanks to Jotne For This Post:
# 6  
Old 08-26-2013
Code:
echo abc.tpt.ctl | rev | cut -c 9- | rev
abc
 
bash-3.2$ cat x
abc.tpt.ctl
bdc.tpt.ctl
cdw.tpt.ctl
bash-3.2$ cat x | rev | cut -c 9- | rev
abc
bdc
cdw

This User Gave Thanks to MR.bean For This Post:
# 7  
Old 08-26-2013
Hello,

My loop is like this

Code:
TPT_PATH='/home/ctl/tpt'
CP_PATH='/home/ctl/copy'

for line in filelist.txt ;
do
  if [ -f $TPT_PATH/$line ]
     then
     echo "###################################################################################################" >> $CP_PATH/$line

The problem is when i write the echo statement into the file the file is named as .tpt.ctl, instead i need it to be .copy.vsql
So I want to put a variable inside this loop which takes maiden name of file without .tpt.ctl and then I can use the variable in echo statement >> $CP_PATH/$variable.copy.vsql

---------- Post updated at 01:36 PM ---------- Previous update was at 01:27 PM ----------

Thanks Mr Bean,

The solution worked for me.

Thanks you all.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Outputting characters after a given string and reporting the characters in the row below --sed

I have this fastq file: @M04961:22:000000000-B5VGJ:1:1101:9280:7106 1:N:0:86 GGGGGGGGGGGGCATGAAAACATACAAACCGTCTTTCCAGAAATTGTTCCAAGTATCGGCAACAGCTTTATCAATACCATGAAAAATATCAACCACACCA +test-1 GGGGGGGGGGGGGGGGGCCGGGGGFF,EDFFGEDFG,@DGGCGGEGGG7DCGGGF68CGFFFGGGG@CGDGFFDFEFEFF:30CGAFFDFEFF8CAF;;8... (10 Replies)
Discussion started by: Xterra
10 Replies

2. Shell Programming and Scripting

Cut wildcard characters from a string

Hello All, I have to write a shell logic inside my ANT Script , the data from my ANT is in the string like string a = "test1.props,test2.props,*,test3.props,?,test4,props" how do i remove this wild card characters from my string a and assign them to an other string , like i only want to... (9 Replies)
Discussion started by: raokl
9 Replies

3. Shell Programming and Scripting

Help Needed! - Cut characters after a text string and append to end of filename

Hi all.. I have several unique files that contain one thing in common, and that is acct#. For all files in the directory, I want to append the 10 characters following the word "ACCOUNT:" to the end of the filename. for example: I have file 111_123 that contains ACCOUNT:ABC1234567 The file... (5 Replies)
Discussion started by: cinderella1
5 Replies

4. Shell Programming and Scripting

sed cut characters of string

helloo I wonder if there's a way to cut characters out of a string and keep only the last 2 by using sed. For example if there's the todays' date: 2012-05-06 and we only want to keep the last 2 characters which are the day. Is there a quick way to do it with sed? (2 Replies)
Discussion started by: vlm
2 Replies

5. Shell Programming and Scripting

cut add characters

i have following fixed width text(also has a delimiter) id;name;age;comments1;comments2;title;date to get output as id;name;age;;;title;date (remove comments but keep the delimiter in between) i use cut -c1-12,22,32- suppose if i want to insert another ; somewhere like ... (3 Replies)
Discussion started by: petergemeni
3 Replies

6. Shell Programming and Scripting

Reorder the Cut characters

Hi, I have a fixed width flatfile, I want to view this file specific to it's character position and in order I want to...example as below ABCDE.txt 01COLTSMANNING18 02PATS BRADY 12 03PACKSROGERS 12I used unix cut command to see specific field based on length but unable to order them as... (6 Replies)
Discussion started by: okkadu
6 Replies

7. Shell Programming and Scripting

Cut last 7 characters of a variable

I need to cut the last seven characters of a variable length variable. The variable may be 7 characters or 70. I need to always be able to grab the last 7 characters. I looked at the cut command but it always seems to want to start at the beginning of a line, not the end and count backwards. ... (5 Replies)
Discussion started by: kblawson14
5 Replies

8. Shell Programming and Scripting

Cut the last 15 characters off

Hi Gurus, I am trying to execute the below command. However the output shows the value + path of the folder where the command is being executed. But I am only interested in the value but not the path. du -hs /aps/inf/SeLogs when I execute the above command, output is 32G... (5 Replies)
Discussion started by: svajhala
5 Replies

9. Shell Programming and Scripting

Need to cut first 21 and 32-25 characters from file

Guys, can you help me in doing cut first 21 and 32-35 characters from file. I tried with cut -c to cut first 21 characters ,It is succeeded. But i need both first 21 and 32-35. (1 Reply)
Discussion started by: mohan_xunil
1 Replies

10. AIX

CUT command - cutting characters from end of string

Hello, I need to delete the final few characters from a parameter leaving just the first few. However, the characters which need to remain will not always be a string of the same length. For instance, the parameter will be passed as BN_HSBC_NTRS/hub_mth_ifce.sf. I only need the bit before the... (2 Replies)
Discussion started by: JWilliams
2 Replies
Login or Register to Ask a Question