CONDOR_TRANSFORM_ADS(1)
π condor_transform_ads β HTCondor Manual π
okay bestie, gather round, because this one is genuinely iconic. this is condor_transform_ads, straight out of the HTCondor Manual, and it does exactly one thing extremely well: it takes your ClassAds, runs them through whatever rules you hand it, and spits out the glow-up version. it's giving makeover montage but for structured data. periodt.
β¨ NAME β¨
condor_transform_ads β Transform ClassAds according to specified rules, and output the transformed ClassAds.
πΈ SYNOPSIS πΈ
condor_transform_ads [-help [rules] ]
condor_transform_ads [-rules rules-file] [-jobtransforms name-list]
[-jobroute route-name] [-in[:<form>] ** *infile*] [-out[:<form>[,
nosort]] ** outfile] [<key>=<value> ] [-long ] [-json ] [-xml ]
[-verbose ] [-terse ] [-debug ] [-unit-test ] [-testing ]
[-convertoldroutes ] [infile1 ...infileN ]
real talk, the vibes here matter: you must give at least one transform β either a rules file, or aJOB_TRANSFORM_/JOB_ROUTER_ROUTE_name. and you must give at least one input file. no transforms, no input, no slay.
a few more things you literally cannot skip:
- Transforms are applied in the order they're given on the command line. order is the whole personality here.
- If a rules file has a
TRANSFORMstatement with arguments, it must be the last rules file. it has to be at the end, bestie, that's just the rule. - If you don't specify an output file, output goes to stdout. π«Ά
π¦ DESCRIPTION π¦
condor_transform_ads reads ClassAds from a set of input files, transforms them according to rules defined in a rules file or read from configuration, and outputs the resulting transformed ClassAds. that's it, that's the whole job, and it eats every time. π
if you want the actual tea on how the transform language works, go read the classads/transforms Classad Transforms section. that's where all the syntax lore lives. iykyk.
π OPTIONS π
-help [rules | convert]β show usage info and dip out.-help rulesspills the info about the available transformation rules.-help convertgives you the info about the-convertoldroutesoption.-rulesrules-file β points at the file holding your transformation rule definitions, or configuration that declares aJOB_TRANSFORM_<name>orJOB_ROUTER_ROUTE_<name>variable, for use in a later-jobtransforms <name>or-jobroute <name>argument. it's the setup, fr fr.-jobtransformsname-list β a comma-separated list of more transform names. the transform rules get read from a previous rules file, or from the configuredJOB_TRANSFORM_<name>values.-jobroutename β a job route. the transform rules get read from a previous rules file, or from the configuredJOB_ROUTER_ROUTE_<name>values.-in[:<form>]infile β an input file holding the ClassAd(s) that are about to get transformed. <form>, if you specify it, is one of:long: traditional long form (default) β the classic, the standard, the momentxml: XML formjson: JSON ClassAd formnew: "new" ClassAd form without newlinesauto: guess format by reading the input
and if you pass - for infile, input gets read from stdin. π
-out[:<form>[, nosort]outfile β an output file to receive the transformed ClassAd(s). <form>, if specified, is one of:long: traditional long form (default)xml: XML formjson: JSON ClassAd formnew: "new" ClassAd form without newlinesauto: use the same format as the first input
ClassAds are storted by attribute unless nosort is specified.
[<key>=<value> ]β assign key/value pairs before the rules file is parsed; can be used to pass arguments to rules. (More detail needed here.) β yes bestie, the manpage really says that, we're all waiting on the follow-up π-longβ use long form for both input and output ClassAd(s). (This is the default.) so you can chill, it's already happening.-jsonβ use JSON form for both input and output ClassAd(s).-xmlβ use XML form for both input and output ClassAd(s).-verboseβ verbose mode: echoes to stderr the transform names as they're applied, plus the individual transform rules as they're executed. it narrates its own life. main character energy honestly.-terseβ disables-verbose.-debugβ sends debugging information to stderr, based on the value of the configuration variableTOOL_DEBUG.
π EXIT STATUS π
condor_transform_ads exits with a status value of 0 (zero) on success, and exits with the value 1 (one) on failure. binary. no in-between. it either ate or it didn't. π
π EXAMPLES π
here's a simple little example that transforms the given input ClassAds according to the given rules. so cute, so effective:
Input file (my_input)
# File: my_input
ResidentSetSize = 500
DiskUsage = 2500000
NumCkpts = 0
TransferrErr = false
Err = "/dev/null"
Rules file (my_rules)
# File: my_rules
EVALSET MemoryUsage ( ResidentSetSize / 100 )
EVALMACRO WantDisk = ( DiskUsage * 2 )
SET RequestDisk ( $(WantDisk) / 1024 )
RENAME NumCkpts NumCheckPoints
DELETE /(.+)Err/
Command execution
$ condor_transform_ads -rules my_rules -in my_input
Resulting ClassAd output
DiskUsage = 2500000
Err = "/dev/null"
MemoryUsage = 5
NumCheckPoints = 0
RequestDisk = ( 5000000 / 1024 )
ResidentSetSize = 500
look at that. NumCkpts became NumCheckPoints, the Err-ish attributes got deleted, MemoryUsage and RequestDisk appeared out of nowhere. that's a transformation, that's a full glow-up, that's art. π₯
π AUTHOR π
HTCondor Team β absolute icons, no notes.
π§ COPYRIGHT π§
1990-2026, Center for High Throughput Computing, Computer Sciences Department, University of Wisconsin-Madison, Madison, WI, US. Licensed under the Apache License, Version 2.0.
aaaand that's the whole page, bestie. this was the HTCondor Manual version of CONDOR_TRANSFORM_ADS(1), dated Oct 16, 2026. go transform some ads, you've got this. mwah. π
β¨π«Ά
π¦ where this page comes from
- fedora 43: condor 25.14.1-1.fc43 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms