Sponsored Content
Top Forums UNIX for Beginners Questions & Answers Strange results from 'strings | sort' Post 303038693 by edstevens on Wednesday 11th of September 2019 12:28:44 PM
Old 09-11-2019
Strange results from 'strings | sort'

Using the 'strings' command and piping the result to 'sort' is producing strange results. I get block of lines that begin with asterisks, then a block that begins with some text, then more lines that begin with asterisks. The actual content is correct - lines beginning with asterisks is the actual content of the file. My question is about the resulting sort order. Within a grouping things are in order, but I don't understand why the lines beginning with an asterisk are broken into two groups, separated by a group of lines that begin with an alphabetic character.



Code:
oracle:mydb$ strings spfilemydb.ora | sort
*.audit_file_dest='/u01/app/oracle/admin/mydb/adump'
*.audit_sys_operations=TRUE
*.audit_trail='DB'
*.compatible='12.1.
*.control_files='+DEV_DATA/mydb/controlfile/control01.ctl','+DEV_DATA/mydb/controlfile/control02.ctl'#Restore Controlfile
*.db_block_size=8192
*.db_create_file_dest='+DEV_DATA'
*.db_domain=''
*.db_file_name_convert='+DATA/dwprd/datafile','+DEV_DATA/MYDB/DATAFILE','+DATA/dwprd','+DEV_DATA/mydb'
*.db_name='MYDB'#Reset to original value by RMAN
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=mydbXDB)'
mydb.__data_transfer_cache_size=0
mydb.__db_cache_size=1392508928
mydb.__java_pool_size=167772160
mydb.__large_pool_size=251658240
mydb.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
mydb.__pga_aggregate_target=436207616
mydb.__sga_target=2147483648
mydb.__shared_io_pool_size=0
mydb.__shared_pool_size=318767104
mydb.__streams_pool_size=0
*.event=''
*.java_pool_size=167772160
*.job_queue_
*.local_listener='(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=REGISTER)))'
*.log_archive_dest_1='location=/backup/mydb/archive'
*.open_cursors=300
*.pga_aggregate_limit=2147483648
processes=1000
*.processes=300
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_max_size=2147483648
*.sga_target=2147483648
*.shared_pool_reserved_size=8388608
*.shared_pool_size=255852544

 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

How to sort find results

Hi-- Ok. I have now found that: find -x -ls will do what I need as far as finding all files on a particular volume. Now I need to sort the results by the file's modification date/time. Is there a way to do that? Also, I notice that for many files, whereas the man for find says ls is... (8 Replies)
Discussion started by: groundlevel
8 Replies

2. AIX

Strange ls results..

Multipart question.. Can anybody explain why this happens : -rw-rw-r-- 1 fnsw fnusr 1531061 Feb 13 21:45 filename1.log -rw-rw-r-- 1 fnsw fnusr 1760706 Feb 10 22:10 filename2.log -rw-rw-r-- 1 fnsw fnusr 1525805 Aug 16 2005 filename3.log -rw-rw-r-- 1... (3 Replies)
Discussion started by: dbridle
3 Replies

3. UNIX for Dummies Questions & Answers

Strange Results

I am using th following to get the percentage and have never used bc before: percent=$(echo "scale=4;(34117/384000)*100" | bc) 8.884600 percent=$(echo "scale=2;(34117/384000)*100" | bc) 8.00 Why do I get the results of 8.00 instead of 8.88 when using a scale of 2. I only want 2 decimal... (2 Replies)
Discussion started by: mariaa33
2 Replies

4. UNIX for Advanced & Expert Users

Sort command - strange behaviour

Hi guys, I have the following example data: A;00:00:19 B;00:01:02 C;00:00:13 D;00:00:16 E;00:02:27 F;00:00:12 G;00:00:21 H;00:00:19 I;00:00:13 J;00:13:22 I run the following sort against it, yet the output is as follows: sort -t";" +1 -nr example_data.dat A;00:00:19 (16 Replies)
Discussion started by: miwinter
16 Replies

5. Shell Programming and Scripting

Strange results from FDISK?????

Hi all, I am writing script that returns the size of each disk or partition when called. I am using FDISK -l and parsing the results to get the result I want. When I execute fdisk -l it shows correct results, BUT when I execute the same thing with results to be put in a variable, I get strange... (5 Replies)
Discussion started by: alirezan
5 Replies

6. Shell Programming and Scripting

Help with sort folder results

Here is the code, but the list is not sorted properly (alphabetically)? <?php function folderlist(){ $startdir = './'; $ignoredDirectory = '.'; $ignoredDirectory = '..'; if (is_dir($startdir)){ if ($dh = opendir($startdir)){ while (($folder = readdir($dh)) !== false){ if... (0 Replies)
Discussion started by: mrlayance
0 Replies

7. UNIX for Dummies Questions & Answers

sort find results

Hi, I have a problem with a shell script. The script should find all .cpp and .h files and list them. With: for file in `find $src -name '*.h' -o -name '*.cpp' it gives out this: H:\FileList\A\E\F\G\newCppFile.cpp H:\FileList\header01.h H:\FileList\B\nextCppFile.cpp ... (4 Replies)
Discussion started by: shellBeginner75
4 Replies

8. UNIX for Advanced & Expert Users

Rsync in progress, strange results

Disclaimer, I've been a Linux admin for a while but don't frequently setup rsysnc jobs. Here's the command I'm running on CentOS 5.5, rsync 2.6.8: rsync -arvz --progress --compress-level=9 /src/ /dest/ /src has 1.5 TB of data, /dest/ is a new destination and started out empy. Oh ya, both... (4 Replies)
Discussion started by: DustinT
4 Replies

9. Shell Programming and Scripting

Find with rm command gives strange results

I want to remove any files that are older than 2 days from a directory. It deletes those files. Then it comes back with a message it is a directory. What am I doing wrong here? + find /mydir -mtime +2 -exec rm -f '{}' ';' rm: /mydir is a directory (2 Replies)
Discussion started by: jtamminen
2 Replies

10. UNIX for Beginners Questions & Answers

Strange sort -r results

Hi Folks - I have this file that looks like this: outbox/logs/Client_1042.log outbox/logs/Client_941.log outbox/logs/Client_942.log outbox/logs/Client_943.log outbox/logs/Client_944.log And this is my code: #!/bin/bash _OUTBOX_BIN="outbox/logs/" _NAME="Client" _TEMP="temp.txt"... (9 Replies)
Discussion started by: SIMMS7400
9 Replies
STAG-STORENODE(1p)					User Contributed Perl Documentation					STAG-STORENODE(1p)

NAME
stag-storenode.pl - script is for storing data in database SYNOPSIS
stag-storenode.pl -d "dbi:Pg:dbname=mydb;host=localhost" myfile.xml DESCRIPTION
This script is for storing data (specified in a nested file format such as XML or S-Expressions) in a database. It assumes a database schema corresponding to the tags in the input data already exists. ARGUMENTS -d DBNAME This is either a DBI locator or the logical name of a database in the DBSTAG_DBIMAP_FILE config file -user USER db user name -password PASSWORD db user password -u UNIT This is the node/element name on which to load; a database loading event will be fired every time one of these elements is parsed; this also constitutes a whole transaction -c STAGMAPFILE This is a stag mapping file, indicating which elements are aliases -p PARSER Default is xml; can be any stag compatible parser, OR a perl module which will parse the input file and fire stag events (see Data::Stag::BaseGenerator) -t TRANSFORMER This is the name of a perl module that will perform a transformation on the stag events/XML. See also stag-handle.pl -noupdate NODELIST A comma-seperated (no spaces) list of nodes/elements on which no update should be performed if a unique key is found to be present in the DB -trust_ids If this flag is present, the values for primary key values are trusted; otherwise they are assumed to be surrogate internal IDs that should not be used. In this case they will be remapped. -tracenode TABLE/COLUMN E.g. -tracenode person/name Writes out a line on STDERR for every new person inserted/updated -cache TABLE=MODE Can be specified multiple times Example: -cache 0: off (default) 1: memory-caching ON 2: memory-caching OFF, bulkload ON 3: memory-caching ON, bulkload ON IN-MEMORY CACHING By default no in-memory caching is used. If this is set to 1, then an in-memory cache is used for any particular element. No cache management is used, so you should be sure not to cache elements that will cause memory overloads. Setting this will not affect the final result, it is purely an efficiency measure for use with storenode(). The cache is indexed by all unique keys for that particular element/table, wherever those unique keys are set BULKLOAD If bulkload is used without memory-caching (set to 2), then only INSERTs will be performed for this element. Note that this could potentially cause a unique key violation, if the same element is present twice If bulkload is used with memory-caching (set to 3) then only INSERTs will be performed; the unique serial/autoincrement identifiers for those inserts will be cached and used. This means you can have the same element twice. However, the load must take place in one session, otherwise the contents of memory will be lost XML TO DB MAPPING
See DBIx::DBStag for details of the actual mapping. Two styles of mapping are allowed: stag-dbxml and XORT-style XML. You do not have to specify which, they are sufficiently similar that the loader can accept either. MAKING DATABASE FROM XML FILES
It is possible to automatically generate a database schema and populate it directly from XML files (or from Stag objects or other Stag compatible files). Of course, this is no substitute for proper relational design, but often it can be necessary to quickly generate databases from heterogeneous XML data sources, for the purposes of data mining. There are 3 steps involved: 1. Prepare the input XML (for instance, modifying db reserved words). 2. Autogenerate the CREATE TABLE statements, and make a db from these. 3. Store the XML data in the database. Step 1: Prepare input file You may need to make modifications to your XML before it can be used to make a schema. If your XML elements contain any words that are reserved by your DB you should change these. Any XML processing tool (eg XSLT) can be used. Alternatively you can use the script 'stag-mogrify' e.g. to get rid of '-' characters (this is how Stag treates attributes) and to change the element with postgresql reserved word 'date', do this: stag-mogrify.pl -xml -r 's/^date$/moddate/' -r 's/-//g' data.xml > data.mog.xml You may also need to explicitly make elements where you will need linking tables. For instance, if the relationship between 'movie' and 'star' is many-to-many, and your input data looks like this: (movie (name "star wars") (star (name "mark hamill"))) You will need to *interpose* an element between these two, like this: (movie (name "star wars") (movie2star (star (name "mark hamill")))) you can do this with the -i switch: stag-mogrify.pl -xml -i movie,star,movie2star data.xml > data.mog.xml or if you simply do: stag-mogrify.pl -xml -i star data.xml > data.mog.xml the mogrifier will simply interpose an element above every time it sees 'star'; the naming rule is to use the two elements with an underscore between (in this case, 'movie_star'). Step 2: Generating CREATE TABLE statements Use the stag-autoddl.pl script; stag-autoddl.pl data.mog.xml > table.sql The default rule is to create foreign keys from the nested element to the outer element; you will want linking tables tobe treated differently (a linking table will point to parent and child elements). stag-autoddl.pl -l movie2star -l star2character data.mog.xml > table.sql Once you have done this, load the statements into your db; eg for postgresql (for other databases, use SQL::Translator) psql -a mydb < table.sql If something goes wrong, go back to step 1 and sort it out! Note that certain rules are followed: ever table generated gets a surrogate primary key of type 'serial'; this is used to generate foreign key relationships. The rule used is primary and foreign key names are the name of the table with the '_id' suffix. Feel free to modify the autogenerated schema at this stage (eg add uniqueness constraints) Step 3: Store the data in the db stag-storenode.pl -u movie -d 'dbi:Pg:mydb' data.mog.xml You generally don't need extra metadata here; everything can be infered by introspecting the database. The -u|unit switch controls when transactions are committed You can omit the -u switch, and every node directly under the top node will be stored. This will also be the transaction unit. If this works, you should now be able to retreive XML from the database, eg stag-selectall_xml -d 'dbi:Pg:mydb' 'SELECT * FROM x NATURAL JOIN y' perl v5.12.4 2011-10-14 STAG-STORENODE(1p)
All times are GMT -4. The time now is 06:06 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy