10-04-2018
Quote:
Originally Posted by
wisecracker
It is surprising how difficult it is to create code to work on multiple platforms with large time spans between platform types and differences in languages as they evolve over these time spans.
Depends what you're doing. Hardware I/O changes often, plain old data processing hasn't. awk in particular didn't burden itself with 100,000 obsolete expansion modules like Perl and Python did, or changed as much as shell has; it remains a special-purpose language just for data processing, quite portable. Mostly. You can find it on anything from wireless routers on up, but occasionally we must tell people 'use nawk on solaris' or else they'll get a crusty old version backwards-compatible with 1977.
Quote:
It took me a long time to do an FFT for Python 1.4.0 for the A1200, to the current, (04-10-2018), 3.7.0 for current machines, but I got there in the end. Everything is easy when code is written around current language versions but backwards compatibility is hard.
Python is one of the worst languages for backwards compatibility, its basic syntax changes with every sneeze.
Quote:
Once done I will leave the Awk version for you... <wink>
If you're curious, there's a lot more to learn about awk. It's actually a very fast, powerful, and low-footprint language for processing text. (It had to be, to operate on 1977 hardware.) It's not a do-everything language, it has a few really nice features and not a lot else. You wouldn't write a menu system or graphical UI with it. But for data processing it's almost as powerful as perl.
Last edited by Corona688; 10-04-2018 at 01:50 PM..
These 3 Users Gave Thanks to Corona688 For This Post:
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hello All,
Below is a simple script i worte to find the 208th char in a file. If the char = "C" then I re-direct the line to a file called change.txt. If it is not "C" then I re-direct it to a file called delete.txt.
My problem is I have a file 0f 500K lines. this script is very slow. I am... (4 Replies)
Discussion started by: eja
4 Replies
2. Shell Programming and Scripting
Any means of running ksh93 in a ksh88-mode?
Might sound odd, but I want/need to restrict U/Win-developed scripts to correspond to the ksh88 version on my Solaris environment(s). Thanks. (2 Replies)
Discussion started by: curleb
2 Replies
3. Shell Programming and Scripting
Hi all!
Does anybody know how can I check if any UNIX installation has implemented ksh88 or ksh93?
Thanks in advance.
Néstor. (3 Replies)
Discussion started by: Nestor
3 Replies
4. Shell Programming and Scripting
I have a text file that contains 4 million lines, each line contains 2 fields(colon as field separator). as shown:
123:444,555,666,777,888,345
233:5444,555,666,777,888,345
623:454,585,664,773,888,345
......
Here I have to split the second field(can be up to 40,000 fields) by comma into an... (14 Replies)
Discussion started by: kevintse
14 Replies
5. Shell Programming and Scripting
Hi,
I have a script that, basically, has two input files of this type:
file1
key1=value1_1_1
key2=value1_2_1
key4=value1_4_1
...
file2
key2=value2_2_1
key2=value2_2_2
key3=value2_3_1
key4=value2_4_1
...
My files are 10k lines big each (approx).
The keys are strings that don't... (7 Replies)
Discussion started by: fzd
7 Replies
6. Shell Programming and Scripting
Hi,
I have a large number of input files with two columns of numbers.
For example:
83 1453
99 3255
99 8482
99 7372
83 175
I only wish to retain lines where the numbers fullfil two requirements. E.g:
=83
1000<=<=2000
To do this I use the following... (10 Replies)
Discussion started by: s052866
10 Replies
7. UNIX for Advanced & Expert Users
Hi Experts,
I have several shell scripts that have been developed on a Linux box for korn ksh93.
If we want to run this software on an AIX 6.1 box that runs ksh88 by default can we just change the she-bang line to reference /bin/ksh93 which ships with AIX as its "enhanced shell" to ensure... (6 Replies)
Discussion started by: Keith Turley
6 Replies
8. OS X (Apple)
I don't know if anyone is interested but I have been meddling with FFT for the AMIGA.
(Sadly we AMIGAns don't have these luxuries through any scripting language.
Below is a Python snippet that uses the builtin 'cmath' module to work with the lowly
Python 2.0.1 for the AMIGA. It is part of a... (0 Replies)
Discussion started by: wisecracker
0 Replies
9. AIX
Hi everyone !
Im trying to know from wich version of AIX KSH93 is available ?
Internet tell me 6.x and 7.x AIX are available, bue what about 5.x ?
Is KSH93 available on AIX 5.x ?
Is it the same way to manipulate variables as KSH93 on 7.x ?
Thanks for your support and have a nice day ! (2 Replies)
Discussion started by: majinfrede
2 Replies
10. OS X (Apple)
Hi guys...
This is code that was originally designed to work on an upgraded AMIGA A1200 using Python 2.0.x.
Unfortunately it broke inside much later versions, NOT because of the print statement/function but other minor subtleties. So this is the final result tested on various machines including... (0 Replies)
Discussion started by: wisecracker
0 Replies
LEARN ABOUT DEBIAN
eric4_api
ERIC4_API(1) General Commands Manual ERIC4_API(1)
NAME
eric4_api - eric4 API generator
SYNOPSIS
eric4_api [options] files...
where files can be be either Python modules, package directories or ordinary directories.
DESCRIPTION
This manual page documents briefly the eric4_api command. This manual page was written for the Debian distribution because the original
program does not have a manual page.
eric4_api scans Python source code to generate API descriptions files which are used to as tooltips and autocompletion suggestions by the
QScintilla editor widget in eric4.
OPTIONS
These programs follow the usual GNU command line syntax, with long options starting with two dashes (`-'). A summary of options is
included below. For a complete description, see the Info files.
-b name or --base name
Use the given name as the name of the base package.
-h or --help
Show this help and exit.
-o filename or --output=filename
Write the API information to the named file. A '%L' placeholder is replaced by the language of the API file (see --language).
--oldstyle
Generate API files for QScintilla prior to 1.7.
-p or --private
Include private methods and functions.
-R, -r or --recursive
Perform a recursive search for Python files.
-t ext or --extension = ext
Add the given extension to the list of file extensions. This option may be given multiple times.
-V or --version
Show version information and exit.
-x directory or --exclude=directory
Specify a directory basename to be excluded. This option may be repeated multiple times.
--exclude-file=pattern
Specify a filename pattern of files to be excluded. This option may be repeated multiple times.
-l language or --language=language
Generate an API file for the given programming language. Supported programming languages are:
* Python
* Python3
* Ruby The default is 'Python'. This option may be repeated multiple times.
SEE ALSO
eric4(1), eric4_compare(1), eric4_configure(1), eric4_diff(1), eric4_doc(1), eric4_editor(1), eric4_helpviewer(1), eric4_iconeditor(1),
eric4_plugininstall(1), eric4_pluginrepository(1), eric4_pluginuninstall(1), eric4_qregexp(1), eric4_re(1), eric4_sqlbrowser(1),
eric4_tray(1), eric4_trpreviewer(1), eric4_uipreviewer(1), eric4_unittest(1), eric4_webbrowser(1)
AUTHOR
This manual page was written by Torsten Marek <shlomme@gmx.net>, for the Debian project (but may be used by others).
January 31, 2010 ERIC4_API(1)