See the post #6.
The two lines approach works with any sed and any standard shell.
That works from the shell command line for sure.
But, I don't think the original poster wants to necessarily force a line break like that into his sequence of commands, when their are clearly alternatives:
For example, using perl:
Code:
osascript -e 'tell application "System Events" to get properties of every login item'| perl -p -e 's/, name:/\nname:/g'
so it becomes:
Code:
osascript -e 'tell application "System Events" to get properties of every login item'| sed 's/, name/\
name/g'
It's a matter of personal preference (goes without saying) and in this case, what is the preference of the original poster, 7adi, on macOS?
I know what my personal preference is (sed on Linux, gsed or perl on macOS ). But for the original poster, I have no idea what is their preference.
Hi,
I use AIX (ksh) and Linux (bash) servers. I'm trying to do scripts to will run in both ksh and bash, and most of the time it works. But this time I don't get it in bash (I'm more familar in ksh).
The goal of my script if to read a "config file" (like "ini" file), and make various report.... (2 Replies)
Hi All,
I'm working on a large file and need to extract all data between 2 strings. I have seen many good solutions to threads almost like my problem but none that quite fit.
This is all very new to me so any ideas would be really appreciated! (attempted to read sed and awk tutorials but got a... (9 Replies)
Hi All,
I have a file in which i want to print all the lines between 2 defined strings. Ex- I have file with data as follows
STEP1:-
----- has some 20 -30 lines of data
STEP2:-
----- has some 20 -30 lines of data
So i want to print those lines between STEP1 & STEP2. (line including STEP1)... (7 Replies)
I'm trying to understand if it's possible to create a set of variables that are numbered based on another variable (using eval) in a loop, and then call on it before the loop ends.
As an example I've written a script called question (The fist command is to show what is the contents of the... (2 Replies)
Hi all
Sorry for the basic question, but i am writing a shell script to get around a slightly flaky binary that ships with one of our servers. This particular utility randomly generates the correct information and could work first time or may work on the 12th or 100th attempt etc !.... (4 Replies)
hi all! i have a file like this
lea 25 female
dave 18 male
jake 27 male
and i want to have an output file like this
my name is lea. i am 25. female
my name is dave. i am 18. male
my name is jake. i am 27. male
thanks! (2 Replies)
I have the following code and for some reason when I call the program using
/home/tcdata/tatsh/trunk/hstmy/bin/bash/raytrac.bash --cmod=jcdint.cmod
I get
hasArgument =
hasArgument = true
Somehow the array element is returning even though I have not chosen the option.
... (41 Replies)
Discussion started by: kristinu
41 Replies
LEARN ABOUT MOJAVE
osascript
OSASCRIPT(1) BSD General Commands Manual OSASCRIPT(1)NAME
osascript -- execute OSA scripts (AppleScript, JavaScript, etc.)
SYNOPSIS
osascript [-l language] [-i] [-s flags] [-e statement | programfile] [argument ...]
DESCRIPTION
osascript executes the given OSA script, which may be plain text or a compiled script (.scpt) created by Script Editor or osacompile(1). By
default, osascript treats plain text as AppleScript, but you can change this using the -l option. To get a list of the OSA languages
installed on your system, use osalang(1).
osascript will look for the script in one of the following three places:
1. Specified line by line using -e switches on the command line.
2. Contained in the file specified by the first filename on the command line. This file may be plain text or a compiled script.
3. Passed in using standard input. This works only if there are no filename arguments; to pass arguments to a STDIN-read script, you must
explicitly specify ``-'' for the script name.
Any arguments following the script will be passed as a list of strings to the direct parameter of the ``run'' handler. For example, in
AppleScript:
a.scpt:
on run argv
return "hello, " & item 1 of argv & "."
end run
% osascript a.scpt world
hello, world.
The options are as follows:
-e statement
Enter one line of a script. If -e is given, osascript will not look for a filename in the argument list. Multiple -e options may be
given to build up a multi-line script. Because most scripts use characters that are special to many shell programs (for example,
AppleScript uses single and double quote marks, ``('', ``)'', and ``*''), the statement will have to be correctly quoted and escaped to
get it past the shell intact.
-i Interactive mode: osascript will prompt for one line at a time, and print the result, if applicable, after each line. Any script sup-
plied as a command argument using -e or programfile will be loaded, but not executed, before starting the interactive prompt.
-l language
Override the language for any plain text files. Normally, plain text files are compiled as AppleScript.
-s flags
Modify the output style. The flags argument is a string consisting of any of the modifier characters e, h, o, and s. Multiple modi-
fiers can be concatenated in the same string, and multiple -s options can be specified. The modifiers come in exclusive pairs; if con-
flicting modifiers are specified, the last one takes precedence. The meanings of the modifier characters are as follows:
h Print values in human-readable form (default).
s Print values in recompilable source form.
osascript normally prints its results in human-readable form: strings do not have quotes around them, characters are not escaped,
braces for lists and records are omitted, etc. This is generally more useful, but can introduce ambiguities. For example, the
lists '{"foo", "bar"}' and '{{"foo", {"bar"}}}' would both be displayed as 'foo, bar'. To see the results in an unambiguous form
that could be recompiled into the same value, use the s modifier.
e Print script errors to stderr (default).
o Print script errors to stdout.
osascript normally prints script errors to stderr, so downstream clients only see valid results. When running automated tests, how-
ever, using the o modifier lets you distinguish script errors, which you care about matching, from other diagnostic output, which
you don't.
SEE ALSO osacompile(1), osalang(1), AppleScript Language Guide
HISTORY
osascript in Mac OS X 10.0 would translate '
' characters in the output to '
' and provided c and r modifiers for the -s option to change
this. osascript now always leaves the output alone; pipe through tr(1) if necessary.
Prior to Mac OS X 10.4, osascript did not allow passing arguments to the script.
Mac OS X April 24, 2014 Mac OS X