---
name: "condor_transform_ads"
section: "1"
platform: "linux"
package: "condor"
version: "23.9.6+dfsg-2.1+b10"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/condor_transform_ads"
---

# condor\_transform\_ads(1)

HTCondor Manual Transform ClassAds according to specified rules, and output the transformed ClassAds.

## NAME

condor\_transform\_ads - HTCondor Manual

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* \]

Note that one or more transforms must be specified in the form of a rules file or a **JOB\_TRANSFORM\_** or **JOB\_ROUTER\_ROUTE\_** name and at least one input file must be specified. Transforms will be applied in the order they are given on the command line.  If a rules file has a TRANSFORM statement with arguments it must be the last rules file.  If no output file is specified, output will be written to **stdout**.

## DESCRIPTION

*condor\_transform\_ads* reads ClassAds from a set of input files, transforms them according to rules defined in a rules files or read from configuration, and outputs the resulting transformed ClassAds.

See the classads/transforms:Classad Transforms section for a description of the transform language.

## OPTIONS

- **-help \[rules \| convert\]**

  Display usage information and exit. **-help rules** displays information about the available transformation rules. **-help convert** displays information about the **-convertoldroutes** option.

- **-rules** *rules-file*

  Specifies the file containing definitions of the transformation rules, or configuration that declares a **JOB\_TRANSFORM\_\<name\>** or **JOB\_ROUTER\_ROUTE\_\<name\>** variable for use in a subsequent **-jobtransforms \<name\>** or **-jobroute \<name\>** argument.

- **-jobtransforms** *name-list*

  A comma-separated list of more transform names.  The transform rules will be read from a previous rules file or the configured **JOB\_TRANSFORM\_\<name\>** values

- **-jobroute** *name*

  A job route.  The transform rules will be read from a previous rules file or the configured **JOB\_ROUTER\_ROUTE\_\<name\>** values

- **-in\[:\<form\>\]** *infile*

  Specifies an input file containing ClassAd(s) to be transformed. **\<form\>**, if specified, is one of:

  - •

    **long**: traditional long form (default)

  - •

    **xml**: XML form

  - •

    **json**: JSON ClassAd form

  - •

    **new**: "new" ClassAd form without newlines

  - •

    **auto**: guess format by reading the input

  ```
  If - is specified for infile, input is read from stdin.
  ```

- **-out\[:\<form\>\[, nosort\]** *outfile*

  Specifies an output file to receive the transformed ClassAd(s). **\<form\>**, if specified, is one of:

  - •

    **long**: traditional long form (default)

  - •

    **xml**: XML form

  - •

    **json**: JSON ClassAd form

  - •

    **new**: "new" ClassAd form without newlines

  - •

    **auto**: use the same format as the first input

  ```
  ClassAds are storted by attribute unless nosort is specified.
  ```

- **\[*\<key\>=\<value\>* \]**

  Assign key/value pairs before rules file is parsed; can be used to pass arguments to rules. (More detail needed here.)

- **-long**

  Use long form for both input and output ClassAd(s). (This is the default.)

- **-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, echo to stderr the transform names as they are applied and individual transform rules as they are executed.

- **-terse**

  Disable the **-verbose** option.

- **-debug**

  Causes debugging information to be sent to **stderr**, based on the value of the configuration variable *TOOL\_DEBUG*.

## EXIT STATUS

*condor\_transform\_ads* will exit with a status value of 0 (zero) upon success, and it will exit with the value 1 (one) upon failure.

## EXAMPLES

Here's a simple example that transforms the given input ClassAds according to the given rules:

```
# File: my_input
ResidentSetSize = 500
DiskUsage = 2500000
NumCkpts = 0
TransferrErr = false
Err = "/dev/null"
# File: my_rules
EVALSET MemoryUsage ( ResidentSetSize / 100 )
EVALMACRO WantDisk = ( DiskUsage * 2 )
SET RequestDisk ( $(WantDisk) / 1024 )
RENAME NumCkpts NumCheckPoints
DELETE /(.+)Err/
# Command:
condor_transform_ads -rules my_rules -in my_input
# Output:
DiskUsage = 2500000
Err = "/dev/null"
MemoryUsage = 5
NumCheckPoints = 0
RequestDisk = ( 5000000 / 1024 )
ResidentSetSize = 500
```

## AUTHOR

HTCondor Team

## COPYRIGHT

1990-2024, Center for High Throughput Computing, Computer Sciences Department, University of Wisconsin-Madison, Madison, WI, US. Licensed under the Apache License, Version 2.0.
