Sponsored Content
Top Forums Shell Programming and Scripting Relocation strings using awk/sed from a index file Post 302972761 by jypark22 on Tuesday 10th of May 2016 01:09:53 PM
Old 05-10-2016
Relocation strings using awk/sed from a index file

Hi All,

I'd always appreciate all helps from this website. I would like to relocate strings based on the index number from an index file.


Index numbers are shown on the first column in the index file (index.txt) and I would like to relocate "path" based on index numbers. Paths are placed in the same row if the index number is the same. For example, there are two zeros so path_sparc_ifu_dec_in_3826 is placed on the first row and path_sparc_ifu_dec_in_4349 is placed on the first row and next to path_sparc_ifu_dec_in_3826.

index.txt:

Code:
     0        path_sparc_ifu_dec_in_3826  str    DR     -         -
     0        path_sparc_ifu_dec_in_4349  stf    DR     -         -
     1        path_sparc_ifu_dec_in_2374  stf    DR     -         -
     1        path_sparc_ifu_dec_in_4011  stf    DR     -         -
     2        path_sparc_ifu_dec_in_3078  stf    DR     -         -

However, strings are written in another file (source.txt) and each "path" has four lines of strings.

source.txt:

Code:
    path_sparc_ifu_dec_in_3826
    dtu_inst_d[14]
    dec_fcl_rdsr_sel_pc_d
    0.8664
    path_sparc_ifu_dec_in_4349
    dtu_inst_d[18]
    dec_swl_rdsr_sel_thr_d
    0.795429
    path_sparc_ifu_dec_in_2374
    dtu_inst_d[13]
    dec_dcl_cctype_d[2]
    0.938914
    path_sparc_ifu_dec_in_4011
    dtu_inst_d[13]
    ifu_exu_useimm_d
    0.843643
    path_sparc_ifu_dec_in_3078
    dtu_inst_d[12]
    ifu_exu_shiftop_d[2]
    0.915818

The desired output is:

Code:
    path_sparc_ifu_dec_in_3826	    path_sparc_ifu_dec_in_4349
    dtu_inst_d[14]	    dtu_inst_d[18]
    dec_fcl_rdsr_sel_pc_d	    dec_swl_rdsr_sel_thr_d
    0.8664	0.795429
    path_sparc_ifu_dec_in_2374	    path_sparc_ifu_dec_in_4011
    dtu_inst_d[13]	    dtu_inst_d[13]
    dec_dcl_cctype_d[2]	    ifu_exu_useimm_d
    0.938914	0.843643
    path_sparc_ifu_dec_in_3078	
    dtu_inst_d[12]	
    ifu_exu_shiftop_d[2]	
    0.915818

My idea is that (1)combining two files first and (2) relocate path info using the index number, but I don't know how to do this work. Probably, sed/awk is an appropriate language.

Any help is appreciated.

Best,

Jaeyoung
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

(awk) compare files in dir with an index file

Using awk I have an index file which has been seperated into 5 fields. The first field contains file names. What I need to do is check to see if a file exists in my current directory that is not in the first field of my index file. If its not i print out a message. Please help! (4 Replies)
Discussion started by: xthexonex
4 Replies

2. Filesystems, Disks and Memory

why the inode index of file system starts from 1 unlike array index(0)

why do inode indices starts from 1 unlike array indexes which starts from 0 its a question from "the design of unix operating system" of maurice j bach id be glad if i get to know the answer quickly :) (0 Replies)
Discussion started by: sairamdevotee
0 Replies

3. UNIX for Dummies Questions & Answers

Using awk/sed to extract text between Strings

Dear Unix Gurus, I've got a data file with a few hundred lines (see truncated sample)... BEGIN_SCAN1 TASK_NAME=LA48 PDD Profiles PROGRAM=ArrayScan 1.00 21.220E+00 2.00 21.280E+00 END_DATA END_SCAN1 BEGIN_SCAN2 TASK_NAME=LA48 PDD Profiles 194.00 2.1870E+00 ... (5 Replies)
Discussion started by: tintin72
5 Replies

4. Shell Programming and Scripting

Replace Strings with sed or awk

Hello i need some help with the usage of sed. Situation : 2 textfiles, file.in , file.out In the first textfile which is called file.in are the words for the substitution. Every word is in a new-line like : Firstsub Secondsub Thridsub ... In the second textflie wich is called file.out is... (5 Replies)
Discussion started by: Kingbruce
5 Replies

5. Shell Programming and Scripting

awk extract certain digits from file with index substr

I would like to extract a digit from $0 starting 2,30 to 3,99 or 2.30 to 3.99 Can somebody fix this? awk --re-interval '{if($0 ~ /{1}{2}/) {print FILENAME, substr($0,index($0,/{1}{2}/) , 4)}}'input abcdefg sdlfkj 3,29 g. lasdfj alsdfjasl 2.86 gr. slkjds sldkd lskdjfsl sdfkj kdjlksj 3,34 g... (4 Replies)
Discussion started by: sdf
4 Replies

6. Shell Programming and Scripting

awk or sed script to remove strings

Below am trying to separate FA-7A:1, In output file it should display 7A 1 Command am using Gives same output as below format: 22B7 10000000c9720873 0 22B7 10000000c95d5d8b 0 22BB 10000000c97843a2 0 22BB 10000000c975adbd 0 Not showing FA ports as required format... (5 Replies)
Discussion started by: aix_admin_007
5 Replies

7. Programming

How to replace the complex strings from a file using sed or awk?

Dear All, I am having a requirement to find the difference between 2 files and generate a discrepancy report out of it as an html page. I prefer using diff -y file1 file2 since it gives user friendly layout to know any discrepancy in the record and unique records among the 2 file. Here's how it... (12 Replies)
Discussion started by: Badhrish
12 Replies

8. Shell Programming and Scripting

Relocation strings

Hi all, I would like to relocate strings based on the index number. Index numbers are shown on the first column, the strings are shown on the second column. 1 path_sparc_ifu_dec_104 1 path_sparc_ifu_dec_105 2 path_sparc_ifu_dec_63 2 ... (3 Replies)
Discussion started by: jypark22
3 Replies

9. UNIX for Beginners Questions & Answers

Use strings from nth field from one file to match strings in entire line in another file, awk

I cannot seem to get what should be a simple awk one-liner to work correctly and cannot figure out why. I would like to use patterns from a specific field in one file as regex to search for matching strings in the entire line ($0) of another file. I would like to output the lines of File2 which... (1 Reply)
Discussion started by: jvoot
1 Replies

10. Shell Programming and Scripting

Adding sequential index to duplicate strings

I have a text file in the following format >Homo sapiens KQKCLYNLPFKRNLEGCRERCSLVIQIPRCCKGYFGRDCQACPGGPDAPCNNRGVCLDQY SATGECKCNTGFNGTACEMCWPGRFGPDCLPCGCSDHGQCDDGITGSGQCLCETGWTGPS CDTQAVLPAVCTPPCSAHATCKENNTCECNLDYEGDGITCTVVDFCKQDNGGCAKVARCS... (2 Replies)
Discussion started by: jerrild
2 Replies
STF(4)							   BSD Kernel Interfaces Manual 						    STF(4)

NAME
stf -- 6to4 tunnel interface SYNOPSIS
pseudo-device stf DESCRIPTION
The stf interface supports ``6to4'' IPv6 in IPv4 encapsulation. It can tunnel IPv6 traffic over IPv4, as specified in RFC3056. For ordinary nodes in 6to4 site, you do not need stf interface. The stf interface is necessary for site border router (called ``6to4 router'' in the specification). Due to the way 6to4 protocol is specified, stf interface requires certain configuration to work properly. Single (no more than 1) valid 6to4 address needs to be configured to the interface. ``A valid 6to4 address'' is an address which has the following properties. If any of the following properties are not satisfied, stf raises runtime error on packet transmission. Read the specification for more details. o matches 2002:xxyy:zzuu::/48 where xxyy:zzuu is a hexadecimal notation of an IPv4 address for the node. IPv4 address can be taken from any of interfaces your node has. Since the specification forbids the use of IPv4 private address, the address needs to be a global IPv4 address. o Subnet identifier portion (48th to 63rd bit) and interface identifier portion (lower 64 bits) are properly filled to avoid address colli- sions. If you would like the node to behave as a relay router, the prefix length for the IPv6 interface address needs to be 16 so that the node would consider any 6to4 destination as ``on-link''. If you would like to restrict 6to4 peers to be inside certain IPv4 prefix, you may want to configure IPv6 prefix length as ``16 + IPv4 prefix length''. stf interface will check the IPv4 source address on packets, if the IPv6 prefix length is larger than 16. stf can be configured to be ECN friendly. This can be configured by IFF_LINK1. See gif(4) for details. Please note that 6to4 specification is written as ``accept tunnelled packet from everyone'' tunnelling device. By enabling stf device, you are making it much easier for malicious parties to inject fabricated IPv6 packet to your node. Also, malicious party can inject an IPv6 packet with fabricated source address to make your node generate improper tunnelled packet. Administrators must take caution when enabling the interface. To prevent possible attacks, stf interface filters out the following packets. Note that the checks are no way complete: o Packets with IPv4 unspecified addrss as outer IPv4 source/destination (0.0.0.0/8) o Packets with loopback address as outer IPv4 source/destination (127.0.0.0/8) o Packets with IPv4 multicast address as outer IPv4 source/destination (224.0.0.0/4) o Packets with limited broadcast address as outer IPv4 source/destination (255.0.0.0/8) o Packets with subnet broadcast address as outer IPv4 source/destination. The check is made against subnet broadcast addresses for all of the directly connected subnets. o Packets that does not pass ingress filtering. Outer IPv4 source address must meet the IPv4 topology on the routing table. Ingress fil- ter can be turned off by IFF_LINK2 bit. o The same set of rules are appplied against the IPv4 address embedded into inner IPv6 address, if the IPv6 address matches 6to4 prefix. It is recommended to filter/audit incoming IPv4 packet with IP protocol number 41, as necessary. It is also recommended to filter/audit encapsulated IPv6 packets as well. You may also want to run normal ingress filter against inner IPv6 address to avoid spoofing. By setting the IFF_LINK0 flag on the stf interface, it is possible to disable the input path, making the direct attacks from the outside impossible. Note, however, there are other security risks exist. If you wish to use the configuration, you must not advertise your 6to4 address to others. EXAMPLES
Note that 8504:0506 is equal to 133.4.5.6, written in hexadecimals. # ifconfig ne0 inet 133.4.5.6 netmask 0xffffff00 # ifconfig stf0 inet6 2002:8504:0506:0000:a00:5aff:fe38:6f86 prefixlen 16 alias The following configuration accepts packets from IPv4 source 9.1.0.0/16 only. It emits 6to4 packet only for IPv6 destination 2002:0901::/32 (IPv4 destination will match 9.1.0.0/16). # ifconfig ne0 inet 9.1.2.3 netmask 0xffff0000 # ifconfig stf0 inet6 2002:0901:0203:0000:a00:5aff:fe38:6f86 prefixlen 32 alias The following configuration uses the stf interface as an output-only device. You need to have alternative IPv6 connectivity (other than 6to4) to use this configuration. For outbound traffic, you can reach other 6to4 networks efficiently via stf. For inbound traffic, you will not receive any 6to4-tunneled packets (less security drawbacks). Be careful not to advertise your 6to4 prefix to others (2002:8504:0506::/48), and not to use your 6to4 prefix as a source. # ifconfig ne0 inet 133.4.5.6 netmask 0xffffff00 # ifconfig stf0 inet6 2002:8504:0506:0000:a00:5aff:fe38:6f86 prefixlen 16 alias deprecated link0 # route add -inet6 2002:: -prefixlen 16 ::1 # route change -inet6 2002:: -prefixlen 16 ::1 -ifp stf0 SEE ALSO
gif(4), inet(4), inet6(4) http://www.6bone.net/6bone_6to4.html Brian Carpenter and Keith Moore, Connection of IPv6 Domains via IPv4 Clouds, RFC, 3056, February 2001. Jun-ichiro itojun Hagino, Possible abuse against IPv6 transition technologies, draft-itojun-ipv6-transition-abuse-01.txt, July 2000, work in progress. HISTORY
The stf device first appeared in WIDE/KAME IPv6 stack. BUGS
No more than one stf interface is allowed for a node, and no more than one IPv6 interface address is allowed for an stf interface. It is to avoid source address selection conflicts between IPv6 layer and IPv4 layer, and to cope with ingress filtering rule on the other side. This is a feature to make stf work right for all occasions. BSD
April 27, 2001 BSD
All times are GMT -4. The time now is 07:28 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy