Sponsored Content
Top Forums Shell Programming and Scripting Using grep returns partial matches, I need to get an exact match or nothing Post 302490620 by ec01 on Tuesday 25th of January 2011 10:01:31 AM
Old 01-25-2011
alternative solution using awk and/or nawk to match the exact zoneName:
Code:
# cat /var/tmp/zoneadm.out.test
  ID NAME             STATUS     PATH                           BRAND    IP
   0 global           running    /                              native   shared
   1 myzone1          running    /zones/myzone1                 native   shared
   2 myzone1-old      running    /zones/myzone1-old             native   shared
   4 myzone2          running    /zones/myzone2                 native   shared
   5 myzone2-old      running    /zones/myzone2-old             native   shared
   6 myzone2-another  running    /zones/myzone2-another         native   shared
   7 myzone2-junk     running    /zones/myzone2-junk            native   shared
# zoneName=myzone2
# awk '$2 == "'$zoneName'"' /var/tmp/zoneadm.out.test
   4 myzone2          running    /zones/myzone2                 native   shared
# zoneName=myzone2-
# awk '$2 == "'$zoneName'"' /var/tmp/zoneadm.out.test  ### no match
# zoneName=myzone2-old
# awk '$2 == "'$zoneName'"' /var/tmp/zoneadm.out.test
   5 myzone2-old      running    /zones/myzone2-old             native   shared

(in your case you'd run zoneadm list -vic then pipe it to awk instead rather than using the file)

Be careful with the quotes for the shell variables (ie: quote as exactly as shown). nawk may be easier if the quotes are too hard to read:
Code:
# zoneName=myzone2
# nawk -v zonename=${zoneName} '$2 == zonename {print $2}' /var/tmp/zoneadm.out.test
myzone2


Last edited by ec01; 01-25-2011 at 11:01 AM.. Reason: fix code tags
This User Gave Thanks to ec01 For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Exact Match thru grep ?????

hey..... i do have text where the contents are like as follows, FILE_TYPE_NUM_01=FILE_TYPE=01|FILE_DESC=Periodic|FILE_SCHDL_TYPE=Daily|FILE_SCHDL=|FILE_SCHDL_TIME=9:00am|RESULTS=B FILE_TYPE_NUM_02=FILE_TYPE=02|FILE_DESC=NCTO|FILE_SCHDL_TYPE=Daily|FILE_SCHDL=|FILE_SCHDL_TIME=9:00am|RESULTS=M... (2 Replies)
Discussion started by: manas_ranjan
2 Replies

2. Shell Programming and Scripting

find/grep returns no matches

Hi all! I've faced with very unintelligible error using find/grep like this: root@v29221:~# find /var/www/igor/data/www/lestnitsa.ru | grep u28507I get nothing as a result, but: root@v29221:~# grep u28507 /var/www/igor/data/www/lestnitsa.ru/_var.inc $db_name = 'u28507';... (2 Replies)
Discussion started by: ulrith
2 Replies

3. Solaris

grep exact match

Hi This time I'm trying to grep for an exact match e.g cat.dog.horse.cow.bird.pig horse.dog.pig pig.cat.horse.dog horse dog dog pig.dog pig.dog.bird how do I grep for dog only so that a wc -l would result 2 in above case. Thanks in advance ---------- Post updated at 06:33 AM... (4 Replies)
Discussion started by: rob171171
4 Replies

4. UNIX for Dummies Questions & Answers

grep and sed exact match questions

This was mistaken as homework in a different forum, but is not. These are questions that are close to what I am trying to do at work. QUESTION1: How do you grep only an exact string. I am using Solaris10 and do not have any GNU products installed. Contents of car.txt CAR1_KEY0 CAR1_KEY1... (1 Reply)
Discussion started by: thibodc
1 Replies

5. Shell Programming and Scripting

Grep two words with exact match

HI Input : Counters Counter Int Ints Counters Counters Ints Ints I want to grep Counter|Int Output : Counter (1 Reply)
Discussion started by: pareshkp
1 Replies

6. Shell Programming and Scripting

Searching for exact match using grep

I am searching for an exact match on a value read from another file to lookup an email address in another file. The file being checked is called "contacts" and it has Act #, email address, and contact person. 1693;abc1693@yahoo.comt;Tommy D 6423;abc6423@yahoo.comt;Jim Doran... (2 Replies)
Discussion started by: ziggy6
2 Replies

7. Shell Programming and Scripting

Grep exact match

Hello! I have 2 files named tacs.tmp and tacDB.txt tacs.tmp looks like this 0 10235647 102700 106800 107200 1105700 tacDB.txt looks like this 100100,Mitsubishi,G410,Handheld,,0,0,0 100200,Siemens,A53,Handheld,,0,0,0 100300,Sony Ericsson,TBD (AAB-1880030-BV),Handheld,,0,0,0... (2 Replies)
Discussion started by: Cludgie
2 Replies

8. Shell Programming and Scripting

Grep -w not printing exact matches

Dear All, Here is my input TAACGCACTTGCGGCCCCGGGATAAAAAAAAAAAAAAAAAAAAATGGATT NAGAGGGACGGCCGGGGGCATAAAAAAAAAAAAAAAAAAAAAGGGATTTC NGGGTTTTAAGCAGGAGGTGTCAAAAAAAAAAAAAAAAAAAAAGGGATTT NTGGAACCTGGCGCTAGACCAAAAAAAAAAAAAAAAAAAATGGATTTTTG ATACTTACCTGGCAGGGGAGATACCATGATCAATAAAAAAAAAAAAAAAA... (3 Replies)
Discussion started by: jacobs.smith
3 Replies

9. Shell Programming and Scripting

awk to update file based on partial match in field1 and exact match in field2

I am trying to create a cronjob that will run on startup that will look at a list.txt file to see if there is a later version of a database using database.txt as the source. The matching lines are written to output. $1 in database.txt will be in list.txt as a partial match. $2 of database.txt... (2 Replies)
Discussion started by: cmccabe
2 Replies

10. Shell Programming and Scripting

Grep for an exact match in a file

I am currently having some issues while trying to grep for a exact string inside a file. I have tried doing this from command line and things work fine i.e. when no match is found, return code=1 but when its done as part of my script it returns 0 for the same command - I dont know if there is an... (6 Replies)
Discussion started by: Ads89
6 Replies
zones(5)                                                Standards, Environments, and Macros                                               zones(5)

NAME
zones - Solaris application containers DESCRIPTION
The zones facility in Solaris provides an isolated environment for running applications. Processes running in a zone are prevented from monitoring or interfering with other activity in the system. Access to other processes, network interfaces, file systems, devices, and inter-process communication facilities are restricted to prevent interaction between processes in different zones. The privileges available within a zone are restricted to prevent operations with system-wide impact. See privileges(5). You can configure and administer zones with the zoneadm(1M) and zonecfg(1M) utilities. You can specify the configuration details a zone, install file system contents including software packages into the zone, and manage the runtime state of the zone. You can use the zlogin(1) to run commands within an active zone. You can do this without logging in through a network-based login server such as in.rlogind(1M) or sshd(1M). An alphanumeric name and numeric ID identify each active zone. Alphanumeric names are configured using the zonecfg(1M) utility. Numeric IDs are automatically assigned when the zone is booted. The zonename(1) utility reports the current zone name, and the zoneadm(1M) utility can be used to report the names and IDs of configured zones. A zone can be in one of several states: CONFIGURED Indicates that the configuration for the zone has been completely specified and committed to stable storage. INCOMPLETE Indicates that the zone is in the midst of being installed or uninstalled, or was interrupted in the midst of such a transition. INSTALLED Indicates that the zone's configuration has been instantiated on the system: packages have been installed under the zone's root path. READY Indicates that the "virtual platform" for the zone has been established. Network interfaces have been plumbed, file systems have been mounted, devices have been configured, but no processes associated with the zone have been started. RUNNING Indicates that user processes associated with the zone application environment are running. SHUTTING_DOWN Indicates that the zone is being halted. The zone can become stuck in one of these states if it is unable to tear DOWN down the application environment state (such as mounted file systems) or if some portion of the virtual platform cannot be destroyed. Such cases require operator intervention. Process Access Restrictions Processes running inside a zone (aside from the global zone) have restricted access to other processes. Only processes in the same zone are visible through /proc (see proc(4) or through system call interfaces that take process IDs such as kill(2) and priocntl(2). Attempts to access processes that exist in other zones (including the global zone) fail with the same error code that would be issued if the specified process did not exist. Privilege Restrictions Processes running within a non-global zone are restricted to a subset of privileges, in order to prevent one zone from being able to per- form operations that might affect other zones. The set of privileges limits the capabilities of privileged users (such as the super-user or root user) within the zone. The list of privileges available within a zone can be displayed using the ppriv(1) utility. For more informa- tion about privileges, see privileges(5). Device Restrictions The set of devices available within a zone is restricted, to prevent a process in one zone from interfering with processes in other zones. For example, a process in a zone should not be able to modify kernel memory using /dev/kmem, or modify the contents of the root disk. Thus, by default, only a few pseudo devices considered safe for use within a zone are available. Additional devices can be made available within specific zones using the zonecfg(1M) utility. The device and privilege restrictions have a number of effects on the utilities that can run in a non-global zone. For example, the eep- rom(1M), prtdiag(1M), and prtconf(1M) utilities do not work in a zone since they rely on devices that are not normally available. File Systems Each zone has its own section of the file system hierarchy, rooted at a directory known as the zone root. Processes inside the zone can access only files within that part of the hierarchy, that is, files that are located beneath the zone root. This prevents processes in one zone from corrupting or examining file system data associated with another zone. The chroot(1M) utility can be used within a zone, but can only restrict the process to a root path accessible within the zone. In order to preserve file system space, sections of the file system can be mounted into one or more zones using the read-only option of the lofs(7FS) file system. This allows the same file system data to be shared in multiple zones, while preserving the security guarantees supplied by zones. NFS and autofs mounts established within a zone are local to that zone; they cannot be accessed from other zones, including the global zone. The mounts are removed when the zone is halted or rebooted. Networking Zones can be assigned logical network interfaces, which can be used to communicate over the network. These interfaces are configured using the zonecfg(1M) utility. The interface is removed when the zone is halted or rebooted. Only logical interfaces can be assigned to a zone. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ SEE ALSO
zlogin(1), zonename(1), in.rlogind(1M), sshd(1M), zoneadm(1M), zonecfg(1M), getzoneid(3C), kill(2), priocntl(2), ucred_get(3C), get- zoneid(3C), proc(4), attributes(5), privileges(5), crgetzoneid(9F) SunOS 5.10 13 Apr 2004 zones(5)
All times are GMT -4. The time now is 12:48 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy