Comando rojo o rojo

Finalidad

Editor de líneas para archivos de texto.

Sintaxis

ad [ -p Serie] [ -s | -] [Archivo]

rojo [ -pSerie] [ -s | -] [Archivo]

Descripción

El mandato ad inicia el programa de edición de línea del editor ed. El editor ed sólo funciona en un archivo a la vez copiándolo en un almacenamiento intermedio de edición temporal y realizando cambios en dicha copia. El editor ed forma parte de una familia de editores que también incluye el editor de edición, el editor ex y el editor vi. El editor ed realiza los cambios que especifique en un almacenamiento intermedio. No altera el archivo en sí hasta que utilice el submandato write (w).

Puede especificar el nombre del archivo que desea editar al iniciar el editor ed con el mandato ad o puede utilizar el submandato e . Cuando el mandato ad lee un nuevo archivo en el almacenamiento intermedio, el contenido de dicho archivo sustituye el contenido anterior del almacenamiento intermedio.

El mandato rojo es una versión restringida del mandato ad , para su uso con el shell restringido (rsh). Con el mandato rojo , sólo edita los archivos que residen en el directorio actual o en el directorio /tmp ; no puede utilizar ! .

Un submandato de editor ed consta de cero, una o dos direcciones, seguido de un subcomando de un solo carácter, seguido de parámetros opcionales a ese submandato. Las direcciones especifican una o más líneas en el almacenamiento intermedio. Dado que cada submandato tiene direcciones predeterminadas, con frecuencia es innecesario especificar direcciones.

El editor ed permite editar sólo la línea actual a menos que se dirija otra línea en el almacenamiento intermedio. Puede mover y copiar sólo líneas completas de datos. El editor ed es útil para editar archivos grandes o para editarlos dentro de un programa de shell.

El editor ed funciona en una de las dos modalidades:

Elemento Descripción
modalidad de mandato En la modalidad de mandatos, el editor ed reconoce y ejecuta submandatos. Cuando inicia el editor ed, está en modalidad de mandatos. Escriba un . (punto) y pulse Intro para confirmar que está en modalidad de mandatos.
modalidad de entrada de texto En la modalidad de entrada de texto, el editor ed le permite especificar texto en el almacenamiento intermedio de archivos, pero no reconoce los submandatos. Especifique la modalidad de entrada de texto utilizando el submandato a, el submandato c o el submandato i . Salga de la modalidad de entrada de texto y vuelva a la modalidad de mandatos escribiendo un . (período) solo al principio de una línea. Para colocar un . (punto) en el almacenamiento intermedio mientras está en modalidad de entrada de texto, especifique un carácter seguido de . (punto). A continuación, salga de la modalidad de entrada de texto y utilice el submandato s para eliminar el carácter.

La lista siguiente proporciona los límites máximos del editor de ad .

  • 64 caracteres por nombre de archivo
  • 256 caracteres por lista de submandatos globales
  • Tamaño de almacenamiento intermedio de 128.000 caracteres
    Nota: El almacenamiento intermedio contiene el archivo original así como la información de edición.

El número máximo de líneas depende de la cantidad de memoria disponible. El tamaño máximo del archivo depende de la cantidad de almacenamiento físico de datos (disco o unidad de cintas) disponible o del número máximo de líneas permitidas en la memoria del usuario.

Distintivos

Elemento Descripción
-p Serie Establece el indicador del editor en el parámetro Serie . El valor predeterminado para Serie es un valor nulo (sin solicitud).
-s Suprime los recuentos de caracteres que el editor visualiza con el submandato e , el submandato r y el submandato w . Este distintivo también suprime los mensajes de diagnóstico para el submandato e y el submandato q y suprime el! (signo de exclamación) solicitud después de un ! .
- Proporciona las mismas funciones que el distintivo -s .

Coincidencia de patrones

El editor ed da soporte a una forma limitada de caracteres especiales de coincidencia de patrones que puede utilizar como expresiones regulares (REs) para construir series de patrón. Puede utilizar estos patrones en direcciones para especificar líneas y en algunos submandatos para especificar partes de una línea.
expresiones normales

Los siguientes REs coinciden con un solo carácter o un elemento de clasificación como se indica a continuación:

Elemento Descripción
Carácter Coincide con sí mismo y puede ser cualquier carácter ordinario (distinto de uno de los símbolos de coincidencia de patrón especial).
. Coincide con cualquier carácter único excepto el carácter de nueva línea.
[serie] Coincide con cualquier carácter de la serie. Ciertos caracteres de coincidencia de patrón tienen significados especiales entre corchetes como se indica a continuación:
^
Coincide con cualquier carácter excepto los caracteres del parámetro Serie y el carácter de nueva línea si el primer carácter del parámetro Serie es un^(circunflex). Esta condición es verdadera sólo si la^es el primer carácter de la serie,[^serie].
-
Indica un rango de caracteres ASCII consecutivos de acuerdo con la secuencia de clasificación actual. Por ejemplo, [a-f] puede ser equivalente a [abcdef] o [ aAbBcCdDeEfF ] o [abcdef] e incluso podría incluir los caracteres a y e acentuados. Una secuencia de clasificación puede definir clases de equivalencia para caracteres.

El signo menos pierde su importancia si se produce como el primer carácter de la serie,[-serie]; si sigue inmediatamente una circunflex inicial,[^-serie]; o si aparece como el último carácter de la serie,[serie-].

]
Funciona como parte de la serie en lugar de como el terminador de serie, cuando el](corchete derecho) es el primer carácter de la serie,[]serie], o cuando se sigue inmediatamente una circunflex inicial,[^]serie].
Patrones de formación

Las reglas siguientes describen cómo formar patrones de REs:

  • Un RE que consta de un carácter único y ordinario coincide con el mismo carácter de una serie.
  • Un RE seguido de un*(asterisco) coincide con cero o más apariciones del carácter que la RE coincide. Por ejemplo, el patrón siguiente:
    ab*cd
    coincide con cada una de las series siguientes:
    acd
    abcd
    abbcd
    abbbcd
    pero no la serie siguiente:
    abd
    Si existe una opción, se elige la coincidencia más larga del inicio de la serie. Por ejemplo, dada la siguiente cadena:
    122333444
    el patrón .* coincide con 122333444, el patrón. * 3 coincide con 122333, y el patrón .*2 coincide con 122.
  • Un RE seguido de:
    Elemento Descripción
    \{m\} Coincide con Exactamente m apariciones del carácter emparejado por el RE.
    \{m,\} Coincide con las apariciones de al menos m del carácter que coincide con el RE.
    \{m, n\} Coincide con cualquier número de apariciones del carácter emparejado por el RE de m a n inclusive.
    Los números m y n deben ser enteros de 0 a 255, ambos inclusive. Siempre que existe una opción, este patrón coincide con tantas apariciones como sea posible.
  • Puede combinar REs en patrones que coincidan con series que contengan esa misma secuencia de caracteres. Por ejemplo, el patrón AB \ *CD coincide con la serie AB* CD y el patrón [A-Za-z] * [0-9] * coincide con cualquier serie que contenga cualquier combinación de caracteres alfabéticos (incluyendo ninguno), seguida de cualquier combinación de números (incluyendo ninguno).
  • La secuencia de caracteres \ (Patrón\) marca un subpatrón que coincide con la misma serie que la secuencia coincidiría si no estuviera encerrada.
  • Los caracteres \Número coinciden con la misma serie de caracteres que un subpatrón ha coincidido anteriormente en el patrón (consulte la regla anterior). El patrón del parámetro Número representa un dígito. El patrón \Número coincide con la serie que coincide con la aparición del subpatrón especificado por el parámetro Número , contando las agujas del reloj.

    Por ejemplo, el patrón siguiente:

    \(A\)\(B\)C\2\1
    coincide con la serie ABCBA. Puede anidar subpatrones.
Restricción de la coincidencia de patrones

Puede restringir un patrón para que coincida sólo con el primer segmento de una línea, el segmento final o toda la línea. El patrón nulo,//(dos barras inclinadas), duplica el patrón anterior.

Coincidencia del primer segmento de una línea

El parámetro ^Patrón sólo coincide con una serie que empieza en la primera posición de carácter en una línea.

Coincidencia del último segmento de una línea

El parámetro Patrón$sólo coincide con una serie que finaliza con el último carácter (sin incluir el carácter de nueva línea) en una línea.

Coincidencia de toda la línea

El parámetro ^Patrón$restringe el patrón para que coincida con una línea completa.

Líneas de direccionamiento

El editor ed utiliza tres tipos de direcciones: direcciones de número de línea, direcciones relativas a la línea actual y direcciones de patrón. La línea actual (normalmente la última línea afectada por un submandato) es el punto de referencia en el almacenamiento intermedio.

Puede utilizar la dirección de línea para hacer lo siguiente:

  • Designar una nueva línea actual
  • Mostrar la línea o líneas que se dirigen
  • Hacer que un mandato actúe en una línea o líneas determinadas

Los subcomandos que no aceptan direcciones consideran la presencia de una dirección como un error. Los submandatos que aceptan direcciones pueden utilizar direcciones dadas o por omisión. Cuando se dan más direcciones de las que acepta, un mandato utiliza las últimas (más a la derecha).

En la mayoría de los casos, comas (,) direcciones separadas (por ejemplo2,8). Los puntos y coma (;) también pueden separar direcciones. Un punto y coma entre direcciones hace que el editor ed establezca la línea actual en la primera dirección y, a continuación, calcule la segunda dirección (por ejemplo, para establecer la línea de inicio para una búsqueda). En un par de direcciones, la primera dirección debe ser numéricamente menor que la segunda.

Puede utilizar números de línea y direcciones simbólicas para realizar las tareas siguientes:

Direccionamiento de la línea actual

A.(punto) se dirige a la línea actual. El. (punto) es el valor predeterminado para la mayoría de submandatos del editor ed y no es necesario especificarlo.

Direccionamiento de una línea por número

Para direccionar una línea especificada del almacenamiento intermedio, escriba:

Number

donde el parámetro Número representa un número de línea. Por ejemplo:

2253

se dirige al número de línea 2253 como línea actual.

Direccionamiento de la línea antes de la primera línea

Para direccionar la línea antes de la primera línea del almacenamiento intermedio, escriba:

0
Direccionamiento de la última línea

Para direccionar la última línea del almacenamiento intermedio, escriba:

$
Direccionamiento de una línea que precede a una línea advestida

Para especificar una dirección que sea un número especificado de líneas que preceden a la línea actual, escriba:

-Number

donde el parámetro Número es el número especificado de líneas que preceden a la línea actual que desea direccionar. Por ejemplo:

-5

se dirige a la línea cinco líneas que preceden a la línea actual como la línea actual.

También puede especificar sólo un-para direccionar la línea inmediatamente anterior a la línea actual. El signo menos tiene un efecto acumulativo. Por ejemplo, la dirección-(dos signos menos) se dirige a la línea dos líneas que preceden a la línea actual.

Direccionamiento de una línea después de una línea advestida

Para especificar una dirección que sea un número especificado de líneas después de la línea actual, escriba:

+Number

donde el parámetro Número es el número especificado de líneas después de la línea actual que desea direccionar. El signo + (signo más) es opcional. Por ejemplo:

+11

se dirige a la línea 11 líneas después de la línea actual como línea actual.

También puede especificar sólo un + para direccionar la línea inmediatamente después de la línea actual. El + tiene un efecto acumulativo. Por ejemplo, la dirección + + (dos signos más) se dirige a la línea dos líneas después de la línea actual.

Direccionamiento de la primera línea a través de la última línea
Para direccionar la primera línea a través de la última línea, escriba:
,

La, (coma) representa el par de direcciones 1, $(primera línea a través de la última línea). La primera línea se convierte en la línea actual.

Direccionamiento de la línea actual a través de la última línea
Para direccionar la línea actual a través de la última línea, escriba:
;

El; (punto y coma) representa el par de direcciones., $(línea actual a través de la última línea).

Direccionamiento de un grupo de líneas
Para direccionar un grupo de líneas, escriba:
FirstAddress,LastAddress
donde el parámetro FirstAddress es el número de línea (o dirección simbólica) de la primera línea del grupo que desea direccionar, y el parámetro LastAddress es el número de línea (o dirección simbólica) de la última línea del grupo. La primera línea del grupo se convierte en la línea actual. Por ejemplo:
3421,4456

se dirige a las líneas 3421 a 4456. La línea 3421 se convierte en la línea actual.

Direccionamiento de la siguiente línea que contiene un patrón especificado
Para direccionar la siguiente línea que contiene una serie coincidente, escriba:
/Pattern/
donde el parámetro Patrón es una serie de caracteres o expresión regular. La búsqueda comienza con la línea después de la línea actual y se detiene cuando encuentra una coincidencia para el patrón. Si es necesario, la búsqueda se mueve al final del almacenamiento intermedio, se ajusta al principio del almacenamiento intermedio y continúa hasta que encuentra una coincidencia o vuelve a la línea actual. Por ejemplo:
/Austin, Texas/
se dirige a la siguiente línea que contiene Austin, Texas como la línea actual.
Direccionamiento de la línea anterior que contiene un patrón especificado

Para direccionar la línea anterior que contiene una coincidencia para el patrón, escriba:

?Pattern?
donde el parámetro Patrón es una serie de caracteres o expresión regular. La cabecera HTTP?patrón?construcción, como/patrón/, puede buscar en todo el almacenamiento intermedio, pero busca en la dirección opuesta. Por ejemplo:
?Austin, Texas?

se dirige a la línea anterior que contiene Austin, Texas como la línea actual.

Direccionamiento de una línea marcada

Para direccionar una línea marcada con el submandato k , escriba:

'x
donde el parámetro x es una letra minúscula a a z. Por ejemplo:
'c
se dirige a la línea marcada como c con el submandato k .

Submandatos

Utilice los submandatos del editor ed para realizar las acciones siguientes:

En la mayoría de los casos, sólo puede especificar un submandato de editor ed en una línea. Sin embargo, puede añadir los submandatos l (list) y p (print) a cualquier submandato excepto e (editar), E (Editar), f (archivo), q (salir), Q (Salir), r (leer), w (escribir) y ! (mandatos del sistema operativo) submandatos.

Los submandatos e, f, ry w aceptan nombres de archivo como parámetros. El editor ed almacena el último nombre de archivo utilizado con un submandato como nombre de archivo predeterminado. El siguiente submandato e, E, f, ro w proporcionado sin un nombre de archivo utiliza el nombre de archivo predeterminado.

El editor ed responde a una condición de error con uno de los dos mensajes:?(signo de interrogación) o?File. Cuando el editor ed recibe una señal de interrupción (la secuencia de teclas Control-C), muestra un?y vuelve a la modalidad de mandatos. Cuando el editor ed lee un archivo, descarta caracteres ASCII nulos y todos los caracteres después del último carácter de nueva línea.

Edición de un archivo

Puede utilizar los submandatos del editor ed para realizar las tareas siguientes:

Cómo agregar texto

Elemento Descripción
(.)a [l] [n] [p] Texto. El submandato a (append) añade texto al almacenamiento intermedio Después la línea dirigida. El submandato a establece la línea actual en la última línea insertada o, si no se ha insertado ninguna línea, en la línea dirigida. Una dirección 0 añade texto al principio del almacenamiento intermedio.

Escriba el submandato opcional l (list), n (number) o p (print) si desea visualizar el texto añadido.

Escriba el texto, pulsando la tecla Intro al final de cada línea. Si no pulsa Intro al final de cada línea, el editor ed automáticamente mueve el cursor a la línea siguiente después de llenar una línea con caracteres. El editor ed trata todo lo que escribe antes de pulsar Intro como una línea, independientemente de la cantidad de líneas que ocupa en la pantalla.

Escriba un. (punto) al principio de una nueva línea, después de haber escrito todo el texto.

(.)i [l] [n] [p]Texto. El submandato i (insertar) inserta el texto antes en la línea dirigida y establece la línea actual en la última línea insertada. Si no se insertan líneas, el submandato i establece la línea actual en la línea dirigida. No puede utilizar una dirección 0 para este submandato.

Escriba el submandato opcional l (list), n (number) o p (print) si desea visualizar el texto insertado.

Escriba el texto, pulsando la tecla Intro al final de cada línea. Si no pulsa Intro al final de cada línea, el editor ed automáticamente mueve el cursor a la línea siguiente después de llenar una línea con caracteres. El editor ed trata todo lo que escribe antes de pulsar Intro como una línea, independientemente de la cantidad de líneas que ocupa en la pantalla.

Escriba un. (punto) al principio de una nueva línea, después de haber escrito todo el texto.

Nota: El subcomando i difiere del subcomando a sólo en la colocación del texto.
Para añadir texto después de la línea actual
  1. Escriba el submandato siguiente:
    a[l][n][p]
    donde l, ny p son submandatos opcionales que muestran el texto añadido.
  2. Escriba el texto y pulse Intro.
  3. Escriba un . (punto) y pulse Intro de nuevo para volver a la modalidad de mandatos.
Para añadir texto antes de la línea actual
  1. Escriba el submandato siguiente:
    i[l][n][p]
    donde l, ny p son submandatos opcionales que muestran el texto añadido.
  2. Escriba el texto y pulse Intro.
  3. Escriba un . (punto) y pulse Intro de nuevo para volver a la modalidad de mandatos.
Para añadir texto después de una línea advestida
  1. Escriba el submandato siguiente:
    Addressa[l][n][p]
    donde el parámetro Dirección es el número de línea de la línea que debe seguir el texto insertado. Los submandatos opcionales l, ny p muestran el texto añadido.
  2. Escriba el texto y pulse Intro.
  3. Escriba un . (punto) y pulse Intro de nuevo para volver a la modalidad de mandatos.
Para añadir texto antes de una línea advestida
  1. Escriba el submandato siguiente:
    Addressi[l][n][p]
    donde el parámetro Dirección es el número de línea de la línea que debe preceder el texto insertado. Los submandatos opcionales l, ny p muestran el texto añadido.
  2. Escriba el texto y pulse Intro.
  3. Escriba un . (punto) y pulse Intro de nuevo para volver a la modalidad de mandatos.
Para añadir texto después de líneas que contienen un patrón de búsqueda
  1. Escriba el submandato siguiente:
    [Address]g/Pattern/a[l][n][p]
    donde Dirección es un parámetro opcional que especifica el rango de líneas para buscar el patrón especificado en el parámetro Patrón . El parámetro Patrón es una serie de caracteres o expresión regular. Si omite el parámetro Dirección , el editor ed busca en todo el archivo líneas que contienen el patrón. Los submandatos opcionales l, ny p muestran el texto añadido.
  2. Escriba una barra inclinada invertida:
    \
  3. Escriba el texto. Para iniciar nuevas líneas dentro del texto añadido, escriba una barra inclinada invertida:
    \
    y pulse Intro. El texto que escriba se añade después de cada línea que contiene el patrón especificado en el mandato.
  4. Para volver a la modalidad de mandatos, pulse Intro.
Para añadir texto antes de líneas que contengan un patrón de búsqueda
  1. Escriba el submandato siguiente:
    [Address]g/Pattern/i[l][n][p]
    donde Dirección es un parámetro opcional que especifica el rango de líneas para buscar el patrón especificado en el parámetro Patrón . El parámetro Patrón es una serie de caracteres o expresión regular. Si omite el parámetro Dirección , el editor ed busca en todo el archivo líneas que contienen el patrón. Los submandatos opcionales l, ny p muestran el texto añadido.
  2. Escriba una barra inclinada invertida:
    \
  3. Escriba el texto. Para iniciar nuevas líneas dentro del texto añadido, escriba una barra inclinada invertida:
    \
    y pulse Intro. El texto que escriba se añade antes de cada línea que contiene el patrón especificado en el mandato.
  4. Para volver a la modalidad de mandatos, pulse Intro.
Para añadir texto después de líneas que no contienen un patrón de búsqueda
  1. Escriba el submandato siguiente:
    [Address]g/Pattern/a[l][n][p]
    donde Dirección es un parámetro opcional que especifica el rango de líneas para buscar líneas que no contienen el patrón especificado en el parámetro Patrón . El parámetro Patrón es una serie de caracteres o expresión regular. Si omite el Dirección, el editor ed busca en todo el archivo líneas que no contienen el patrón. Los submandatos opcionales l, ny p muestran el texto añadido.
  2. Escriba una barra inclinada invertida:
    \
  3. Escriba el texto. Para iniciar nuevas líneas dentro del texto añadido, escriba una barra inclinada invertida:
    \
    y pulse Intro. El texto que escriba se añade después de cada línea que no contiene el patrón especificado en el mandato.
  4. Para volver a la modalidad de mandatos, pulse Intro.
Para añadir texto antes de líneas que no contengan un patrón de búsqueda
  1. Escriba el submandato siguiente:
    [Address]g/Pattern/i[l][n][p]
    donde Dirección es un parámetro opcional que especifica el rango de líneas para buscar líneas que no contienen el patrón especificado en el parámetro Patrón . El parámetro Patrón es una serie de caracteres o expresión regular. Si omite el parámetro Dirección , el editor ed busca en todo el archivo líneas que no contienen el patrón. Los submandatos opcionales l, ny p muestran el texto añadido.
  2. Escriba una barra inclinada invertida:
    \
  3. Escriba el texto. Para iniciar nuevas líneas dentro del texto añadido, escriba una barra inclinada invertida:
    \
    y pulse Intro. El texto que escriba se añade antes de cada línea que no contenga el patrón especificado en el mandato.
  4. Para volver a la modalidad de mandatos, pulse Intro.
Cambiar texto

Elemento Descripción
(.,.)c [l] [n] [p]Texto. El submandato c (cambiar) suprime las líneas dirigidas que desea sustituir y, a continuación, las sustituye por las nuevas líneas que especifique. El submandato c establece la línea actual en la última línea nueva de entrada o, si no existe ninguna entrada, en la primera línea que no se ha suprimido.

Escriba el submandato opcional l (list), n (number) o p (print) si desea visualizar el texto insertado.

Escriba el nuevo texto y pulse Intro al final de cada línea. Cuando haya especificado todo el texto nuevo, escriba un. (punto) en una línea por sí misma.

Para cambiar el texto del LIne actual
  1. Escriba el submandato siguiente:
    c[l][n][p]
    donde l, ny p son submandatos opcionales que muestran el texto modificado.
  2. Escriba el texto y pulse Intro.
  3. Escriba un . (punto) y pulse Intro de nuevo para volver a la modalidad de mandatos.
Para cambiar el texto de una línea o grupo de líneas
  1. Escriba el submandato siguiente:
    Addressc[l][n][p]
    donde el parámetro Dirección es la dirección de la línea o grupo de líneas a cambiar. Los submandatos opcionales l, ny p muestran el texto modificado.
  2. Escriba el texto y pulse Intro.
  3. Escriba un . (punto) y pulse Intro de nuevo para volver a la modalidad de mandatos.
Para cambiar el texto de las líneas que contienen un patrón especificado
  1. Escriba el submandato siguiente:
    Addressg/Pattern/c[l][n][p]
    donde el parámetro Dirección es la dirección del grupo de líneas que desea buscar para el patrón especificado con el parámetro Patrón . Los submandatos opcionales l, ny p muestran el texto modificado.
  2. Escriba una barra inclinada invertida:
    \
  3. Escriba el nuevo texto. Para iniciar nuevas líneas dentro del nuevo texto, escriba una barra inclinada invertida:
    \
    y pulse Intro.
  4. Para volver a la modalidad de mandatos, pulse Intro de nuevo, escriba a. (punto) y pulse Intro de nuevo.
Para cambiar el texto de las líneas que no contienen un patrón especificado
  1. Escriba el submandato siguiente:
    Addressv/Pattern/c[l][n][p]
    donde el parámetro Dirección es la dirección del grupo de líneas que desea buscar para el patrón especificado con el parámetro Patrón . Los submandatos opcionales l, ny p muestran el texto modificado.
  2. Escriba una barra inclinada invertida:
    \
  3. Escriba el nuevo texto. Para iniciar nuevas líneas dentro del nuevo texto, escriba una barra inclinada invertida:
    \
    y pulse Intro.
  4. Para volver a la modalidad de mandatos, pulse Intro de nuevo, escriba a. (punto) y pulse Intro de nuevo.
Cómo copiar texto

Elemento Descripción
(.,.)tDirección [p] [l] [n] El submandato t (transferencia) inserta una copia de las líneas directadas después de la línea especificada por el parámetro Dirección . El submandato t acepta la dirección 0 para insertar líneas al principio del almacenamiento intermedio.

El submandato t establece la línea actual en la última línea copiada.

Escriba el submandato opcional l (list), n (number) o p (print) si desea visualizar el texto transferido.

Copiar una línea o un conjunto de líneas deja las líneas especificadas en su ubicación original y pone una copia en la nueva ubicación. Puede seleccionar las líneas que desea copiar especificando una dirección o un patrón. Utilice el formato anterior para realizar las tareas de edición siguientes:
Para copiar la línea actual
  1. Escriba el submandato siguiente:
    tAddress[l][n][p]
    donde el parámetro Dirección es el número de línea o la dirección simbólica de la línea que desea que siga una copia de la línea actual. Los submandatos opcionales l, ny p muestran la línea copiada.
  2. Escriba el texto y pulse Intro.
  3. Escriba un . (punto) y pulse Intro de nuevo para volver a la modalidad de mandatos.
Para copiar líneas especificadas por dirección
  1. Escriba el submandato siguiente:
    LineNumbertDestinationAddress[l][n][p]
    donde el parámetro LineNumber es la dirección de las líneas que desea copiar y el parámetro DestinationAddress es la línea que desea que siga la copia. Los submandatos opcionales l, ny p muestran la línea copiada.
  2. Escriba el texto y pulse Intro.
  3. Escriba un . (punto) y pulse Intro de nuevo para volver a la modalidad de mandatos.
Copiar líneas que contienen un patrón especificado
Escriba el submandato siguiente:
[Address]g/Pattern/t[DestinationAddress][l][n][p]

donde Dirección es un parámetro opcional que especifica el rango de líneas para buscar líneas que contienen el patrón especificado, el parámetro Patrón es el texto que está buscando y DestinationAddress es un parámetro opcional que identifica la línea que desea que siga el texto copiado. Los submandatos opcionales l, ny p muestran la línea copiada.

Si omite el parámetro Dirección , el editor ed busca en todo el archivo líneas que contienen el patrón. Si omite el parámetro DestinationAddress , el texto copiado se coloca después de la línea actual.

Para Copiar Líneas Que No Contienen Un Patrón Especificado
Escriba el submandato siguiente:
[Address]v/Pattern/t[DestinationAddress][l][n][p]

donde Dirección es un parámetro opcional que especifica el rango de líneas para buscar líneas que no contienen el patrón especificado, el parámetro Patrón es el texto y DestinationAddress es un parámetro opcional que identifica la línea que desea que siga el texto copiado. Los submandatos opcionales l, ny p muestran la línea copiada.

Si omite el parámetro Dirección , el editor ed busca en todo el archivo líneas que no contienen el patrón. Si omite el parámetro DestinationAddress , el texto copiado se coloca después de la línea actual.

Cómo eliminar texto
Elemento Descripción
(.,.) d [ l ] [ n ] [ p ] El submandato d (delete) elimina las líneas direccionado del almacenamiento intermedio. La línea después de la última línea suprimida se convierte en la línea actual. Si las líneas suprimidas estaban originalmente al final del almacenamiento intermedio, la última línea se convierte en la línea actual.

Escriba el submandato opcional l (list), n (number) o p (print) si desea visualizar la supresión.

Para suprimir la línea actual
Escriba el submandato siguiente:
d[l][n][p]
donde l, ny p son submandatos opcionales que muestran la línea suprimida.
Para suprimir una línea o grupo de líneas
Escriba el submandato siguiente:
Addressd[l][n][p]
donde el parámetro Dirección es el número de línea o la dirección simbólica de las líneas que desea suprimir, y l, ny p son submandatos opcionales que muestran la línea o líneas suprimidas.
Para suprimir una línea o grupo de líneas que contienen un patrón especificado
Escriba el submandato siguiente:
[Address]g/Pattern/d[l][n][p]
donde Dirección es un parámetro opcional que especifica el número de línea o la dirección simbólica de las líneas que desea buscar, y el parámetro Patrón es una serie de caracteres o expresión regular que representa el texto que desea buscar. Si omite el parámetro Dirección , el editor ed busca en todo el archivo líneas que contienen el patrón especificado. Los submandatos opcionales l, ny p muestran la línea o líneas suprimidas.
Para suprimir una línea o grupo de líneas que no contiene un patrón especificado
Escriba el submandato siguiente:
[Address]v/Pattern/d[l][n][p]
donde Dirección es un parámetro opcional que especifica el número de línea o la dirección simbólica de las líneas que desea buscar, y el parámetro Patrón es una serie de caracteres o expresión regular que representa el texto que desea buscar. Si omite el parámetro Dirección , el editor ed busca en todo el archivo líneas que no contienen el patrón especificado. Los submandatos opcionales l, ny p muestran la línea o líneas suprimidas.
Para suprimir texto de la línea actual
  1. Escriba el submandato siguiente:
    s/Pattern
    donde el parámetro Patrón es una serie de caracteres o expresión regular que representa el texto que desea suprimir.
  2. Para suprimir el primera instancia del patrón de la línea, escriba:
    //
    O

    Para suprimir cada instancia del patrón de la línea, escriba:

    //g
  3. Si desea visualizar la supresión, escriba uno de los siguientes submandatos opcionales:
    l

    n

    p
  4. Pulse Intro.
Para suprimir texto dentro de líneas seleccionadas
  1. Escriba la dirección de un grupo de líneas para seleccionar (o omita este paso para seleccionar todas las líneas).
  2. Para seleccionar las líneas indicadas por el parámetro Patrón en el paso 4, escriba:
    g
    O

    Para seleccionar las líneas no indicadas por el parámetro Patrón en el paso 4, escriba:

    v
  3. Para especificar el texto que desea buscar, escriba el submandato siguiente:
    /Pattern/s
    donde el parámetro Patrón es el texto que desea buscar.
  4. Escriba uno de los mandatos siguientes para realizar la supresión deseada:
    Para suprimir la primera instancia del parámetro Patrón dentro de cada línea seleccionada, escriba:
    ///
    Para suprimir cada instancia del parámetro Patrón dentro de cada línea seleccionada, escriba:
    ///g
    Para suprimir el primer número especificado de apariciones del parámetro Patrón en cada línea seleccionada (donde el parámetro Número es un entero), escriba:
    ///Number
    Para suprimir la primera serie de caracteres indicada por el parámetro OtherPattern dentro de cada línea seleccionada por el parámetro Pattern (donde el parámetro OtherPattern es el patrón que desea buscar), escriba:
    /OtherPattern//
    Para suprimir cada instancia del parámetro OtherPattern dentro de cada línea seleccionada por el parámetro Patrón , escriba:
    /OtherPattern//g
    Para suprimir el primer número especificado de apariciones del parámetro OtherPattern en cada línea seleccionada por el parámetro Patrón (donde el parámetro Número es un entero), escriba:
    /OtherPattern//Number
  5. Si desea visualizar la supresión, escriba uno de los siguientes submandatos opcionales:
    l

    n

    p
  6. Pulse Intro.
Por ejemplo, para suprimir todas las instancias de un patrón de una gama de líneas, escriba:
38,$g/tmp/s/gn

El ejemplo anterior busca todas las líneas de la línea 38 a la última línea (38,$) para latmpserie de caracteres y suprime todas las instancias (/g) de esa cadena de caracteres dentro de esas líneas. A continuación, muestra las líneas que tenían texto suprimido de ellas y sus números de línea (n).

Para suprimir todas las instancias de un patrón de todas las líneas que contienen ese patrón, escriba:
g/rem/s///gl

El ejemplo anterior busca en todo el archivo (se omite el parámetro de dirección) para todas las líneas que contienen (g) elremserie de caracteres. Suprime todas las instancias (///g) de laremserie de caracteres de cada una de esas líneas y, a continuación, muestra las líneas que tenían texto suprimido de ellas, incluidos los caracteres no imprimibles en esas líneas (l).

Para eliminar texto de líneas advestidas
  1. Escriba el submandato siguiente:
    Addresss/Pattern
    Nota: El parámetro Dirección va seguido del submandato s , donde el parámetro Dirección es el número de línea, el rango de números de línea o la dirección simbólica de las líneas desde las que desea suprimir el patrón, y el parámetro Patrón es una serie de caracteres o expresión regular que representa el texto que desea suprimir.
  2. Para suprimir el primera instancia del patrón de cada línea, escriba:
    //
    O
    Para suprimir cada instancia del patrón de cada línea, escriba:
    //g
  3. Si desea visualizar la supresión, escriba uno de los siguientes submandatos opcionales:
    l
      
    n
      
    p
  4. Pulse Intro.
Para suprimir texto de líneas que contienen un patrón especificado
  1. Escriba el submandato siguiente:
    [Address]g/Pattern/s
    donde Dirección es un parámetro opcional que especifica el número de línea, el rango de números de línea o la dirección simbólica de las líneas que contiene un patrón especificado, y el parámetro Patrón es una serie de caracteres o expresión regular que representa el texto que desea buscar y suprimir. Si omite el parámetro Dirección , el editor ed busca todas las líneas del archivo para el patrón.
  2. Para suprimir el primera instancia del patrón de cada línea que lo contiene, escriba:
    ///
    O
    Para suprimir cada instancia del patrón de cada línea que lo contiene, escriba:
    ///g
  3. Si desea visualizar la supresión, escriba uno de los siguientes submandatos opcionales:
    l

    n

    p
  4. Pulse Intro.
Para suprimir un patrón de líneas que contienen un patrón especificado diferente
  1. Escriba el submandato siguiente:
    [Address]g/SearchPattern/s
    donde Dirección es un parámetro opcional que especifica el número de línea, rango de números de línea o dirección simbólica de las líneas que contienen un patrón especificado, y el parámetro SearchPattern es una serie de caracteres o expresión regular que representa el texto que está en las líneas que desea cambiar. Si omite el parámetro Dirección , el editor ed busca todas las líneas del archivo para el patrón especificado.
  2. Para especificar el texto que desea suprimir, escriba:
    /DeletePattern/
  3. Para suprimir el primera instancia del patrón de cada línea, escriba:
    /
    O
    Para suprimir cada instancia del patrón de cada línea, escriba:
    /g
    Nota: Toda la serie de submandato tiene el aspecto siguiente:
    [Address]g/SearchPattern/s/DeletePattern//[g]
  4. Si desea visualizar la supresión, escriba uno de los siguientes submandatos opcionales:
    l

    n

    p
  5. Pulse Intro.
Por ejemplo, para suprimir la primera instancia de un patrón de líneas que contienen un patrón especificado diferente, escriba:
1,.g/rem/s/tmp//l

El ejemplo anterior busca desde la primera línea hasta la línea actual (1,.) para todas las líneas que contienen (g) elremserie de caracteres. Suprime la primera instancia de latmpserie de caracteres de cada una de estas líneas (/), a continuación, muestra las líneas que tenían texto suprimido de ellas, incluidos los caracteres no imprimibles en esas líneas (l).

Para suprimir un patrón de líneas que no contienen un patrón especificado diferente
  1. Escriba el submandato siguiente:
    [Address]v/SearchPattern/s
    donde Dirección es un parámetro opcional que especifica el número de línea, rango de números de línea o dirección simbólica de las líneas que contienen un patrón especificado, y el parámetro SearchPattern es una serie de caracteres o expresión regular que representa texto que no está en las líneas que desea buscar y cambiar. Si omite el parámetro Dirección , el editor ed busca todas las líneas del archivo para el patrón especificado.
  2. Para especificar el texto que desea suprimir, escriba:
    /DeletePattern/
  3. Para suprimir el primera instancia del patrón, escriba:
    /
    O

    Para suprimir cada instancia del patrón de cada línea, escriba:

    /g
    Nota: Toda la serie de submandato tiene el aspecto siguiente:
    [Address]v/SearchPattern/s/DeletePattern//[g]
  4. Si desea visualizar la supresión, escriba uno de los siguientes submandatos opcionales:
    l

    n

    p
  5. Pulse Intro.
Por ejemplo, para suprimir la primera instancia de un patrón de líneas que no contienen un patrón especificado, escriba:
1,.v/rem/s/tmp//l

El ejemplo anterior busca desde la primera línea hasta la línea actual (1,.) para todas las líneas que no contienen (v) elremserie de caracteres. Suprime la primera instancia de latmpserie de caracteres de cada una de estas líneas (/), a continuación, muestra las líneas que tenían texto suprimido de ellas, incluidos los caracteres no imprimibles en esas líneas (l).

Cómo mostrar texto
Elemento Descripción
(.,.) l El submandato l (list) escribe las líneas direccionada a la salida estándar en un formato visualmente sin ambigüedades y escribe los caracteres\\\,\\a,\\b,\\f,\\r,\\ty\\ven la secuencia de escape correspondiente. El submandato lescribe caracteres no imprimibles como un número octal de 3 dígitos, con un anterior \ (barra inclinada invertida) para cada byte del carácter (el byte más significativo primero).

El submandato l envuelve líneas largas y puede indicar el punto final escribiendo la secuencia de caracteres \ (barra inclinada invertida) /nueva línea. El ajuste de línea se produce en la posición de la columna 72. El $(signo de dólar) marca el final de cada línea. Puede añadir el submandato l a cualquier subcomando editor ed excepto e, E, f, q, Q, r, wo ! . El número de línea actual se establece en la dirección de la última línea escrita.

(.,.) n El submandato n (número) muestra las líneas directadas, cada una precedida por su número de línea y un carácter de tabulación (que se visualiza como espacios en blanco); n establece la línea actual en la última línea visualizada. Puede añadir el submandato n a cualquier subcomando editor ed excepto e, f, ro w. Por ejemplo, el submandato dn suprime la línea actual y muestra la nueva línea y número de línea actuales.
(.,.) p El submandato p (print) muestra las líneas dirigidas y establece la línea actual en la última línea visualizada. Puede añadir el submandato p a cualquier subcomando editor ed excepto e, f, ro w. Por ejemplo, el submandato dp suprime la línea actual y muestra la nueva línea actual.
(.)= Sin una dirección, el submandato = (signo igual) muestra el número de línea actual. Cuando está precedido por la dirección $, el submandato = muestra el número de la última línea en el almacenamiento intermedio. El submandato = no cambia la línea actual y no se puede añadir a un subcomando g o submandato v .
Para mostrar una línea advestida o un grupo de líneas
Escriba el submandato siguiente:
Addressp
donde el parámetro Dirección es el número de línea o la dirección simbólica de las líneas que desea visualizar.

La línea o líneas tratadas se muestran en la pantalla. Si el grupo de líneas es demasiado largo para que quepa en la pantalla, el editor de ed muestra tantos como quepan, empezando por la primera línea dirigida.

Para mostrar una línea o grupo de líneas advestidas y sus caracteres de no impresión
Escriba el submandato siguiente:
Addressl
donde el parámetro Dirección es el número de línea o la dirección simbólica de las líneas que desea visualizar.

La línea o líneas dirigidas y sus caracteres no imprimibles se muestran en la pantalla. Si el grupo de líneas es demasiado largo para que quepa en la pantalla, el editor de ed muestra tantos como quepan, empezando por la primera línea dirigida.

Para mostrar una línea o grupo de líneas advestidas y sus números de línea
Escriba el submandato siguiente:
Addressn
donde el parámetro Dirección es el número de línea o la dirección simbólica de las líneas que desea visualizar.

La línea o líneas tratadas se muestran en la pantalla. El número de línea para cada línea se visualiza en la línea. Si el grupo de líneas es demasiado largo para que quepa en la pantalla, el editor de ed muestra tantos como quepan, empezando por la primera línea dirigida.

Mostrar líneas que contienen un patrón de búsqueda
Escriba el submandato siguiente:
Addressg/Pattern/p
donde el parámetro Dirección es el rango de líneas y el parámetro Patrón es la serie de caracteres o expresión regular que desea buscar.

La línea o líneas que contienen el patrón especificado se visualizan en la pantalla. Si el grupo de líneas es demasiado largo para que quepa en la pantalla, el editor de ed muestra tantos como quepan, empezando por la primera línea dirigida.

Para Mostrar Líneas Que Contienen Un Patrón De Búsqueda, Incluyendo Sus Caracteres De No Impresión
Escriba el submandato siguiente:
[Address]g/Pattern/l
donde Dirección es un parámetro opcional que especifica el rango de líneas y el parámetro Patrón es la serie de caracteres o expresión regular que desea buscar. Si omite el parámetro Dirección , el editor ed busca todo el archivo.

La línea o líneas que contienen el patrón especificado se visualizan en la pantalla. Los caracteres de no impresión aparecen en la pantalla. Si el grupo de líneas es demasiado largo para que quepa en la pantalla, el editor de ed muestra tantos como quepan, empezando por la primera línea dirigida.

Para Mostrar Líneas Que Contienen Un Patrón De Búsqueda, Incluyendo Sus Números De Línea
Escriba el submandato siguiente:
[Address]g/Pattern/n
donde Dirección es un parámetro opcional que especifica el rango de líneas y el parámetro Patrón es la serie de caracteres o expresión regular que desea buscar. Si omite el parámetro Dirección , el editor ed busca todo el archivo.

La línea o líneas que contienen el patrón especificado se visualizan en la pantalla. El número de línea para cada línea se visualiza en la línea. Si el grupo de líneas es demasiado largo para que quepa en la pantalla, el editor de ed muestra tantos como quepan, empezando por la primera línea dirigida.

Mostrar líneas que no contienen un patrón de búsqueda
Escriba el submandato siguiente:
[Address]v/Pattern/p
donde Dirección es un parámetro opcional que especifica el rango de líneas y el parámetro Patrón es la serie de caracteres o expresión regular que desea buscar. Si omite el parámetro Dirección , el editor ed busca todo el archivo.

La línea o líneas que no contienen el patrón especificado se visualizan en la pantalla. Si el grupo de líneas es demasiado largo para que quepa en la pantalla, el editor de ed muestra tantos como quepan, empezando por la primera línea dirigida.

Para Mostrar Líneas Que No Contienen Un Patrón De Búsqueda, Incluidos Sus Caracteres De No Impresión
Escriba el submandato siguiente:
[Address]v/Pattern/l
donde Dirección es un parámetro opcional que especifica el rango de líneas y el parámetro Patrón es la serie de caracteres o expresión regular que desea buscar. Si omite el parámetro Dirección , el editor ed busca todo el archivo.

La línea o líneas que no contienen el patrón especificado se visualizan en la pantalla, incluidos los caracteres no imprimibles. Si el grupo de líneas es demasiado largo para que quepa en la pantalla, el editor de ed muestra tantos como quepan, empezando por la primera línea dirigida.

Para Mostrar Líneas Que No Contienen Un Patrón De Búsqueda, Incluidos Sus Números De Línea
Escriba el submandato siguiente:
[Address]v/Pattern/n

donde Dirección es un parámetro opcional que especifica el rango de líneas y el parámetro Patrón es la serie de caracteres o expresión regular que desea buscar. Si omite el parámetro Dirección , el editor ed busca todo el archivo.

La línea o líneas que no contienen el patrón especificado se visualizan en la pantalla, junto con sus números de línea. Si el grupo de líneas es demasiado largo para que quepa en la pantalla, el editor de ed muestra tantos como quepan, empezando por la primera línea dirigida.

Líneas de unión y división

Elemento Descripción
(.,.+1) j [ l ] [ n ] [ p ] El submandato j (join) une líneas contiguas eliminando los caracteres de nueva línea que intervienen. Si sólo se proporciona una dirección, el subcomando j no hace nada.

Escriba el submandato l (list), n (number) o p (print) si desea visualizar las líneas unidas. Estos submandatos son opcionales.

El editor ed proporciona varias formas de unir o dividir una línea. Utilice el formato anterior para realizar las tareas de edición siguientes:
Para unir las líneas actual y siguiente
Escriba el submandato siguiente:
j[l][n][p]
donde l, ny p son submandatos opcionales que muestran las líneas unidas.
Para Unir Líneas Dirigidas
Escriba el submandato siguiente:
Addressj[l][n][p]
donde el parámetro Dirección es un conjunto de líneas contiguas que formarán una línea, y l, ny p son submandatos opcionales que muestran las líneas unidas.
Para dividir la línea actual
  1. Para dividir la línea actual después de un patrón especificado, escriba el submandato siguiente:
    s/Pattern/Pattern\
    donde el parámetro Patrón es la serie de caracteres que desea dividir la línea después.
    Nota: Asegúrese de que las dos series representadas por el parámetro Patrón son exactamente iguales.
  2. Pulse Intro.
  3. Escriba la barra inclinada invertida siguiente:
    /
  4. Para visualizar la línea de división, escriba uno de los siguientes submandatos opcionales:
    l

    n

    p
  5. Pulse Intro.
Para dividir una línea advestida
  1. Para dividir una línea dirigida después de un patrón especificado, escriba el siguiente submandato:
    Addresss/Pattern/Pattern\
    donde el parámetro Dirección es la dirección de la línea a dividir, y el parámetro Patrón es la serie de caracteres para dividir la línea después.
    Nota: Asegúrese de que las dos series representadas por el parámetro Patrón son exactamente iguales.
  2. Pulse Intro.
  3. Escriba la barra inclinada invertida siguiente:
    /
  4. Para visualizar la línea de división, escriba uno de los siguientes submandatos opcionales:
    l

    n

    p
  5. Pulse Intro.
Hacer cambios globales

Elemento Descripción
(1,$) g / P atrón/Lista de subcomandos [ l ] [ n ] [ p ] El submandato g (global) marca por primera vez cada línea que coincide con el parámetro Patrón . El patrón puede ser una serie de caracteres fija o un expresión regular. A continuación, para cada línea marcada, este submandato establece la línea actual en la línea marcada y ejecuta el parámetro SubcommandList . Especifique un solo submandato o el primer submandato de una lista de submandatos en la misma línea con el submandato g ; entre submandatos posteriores en líneas separadas. Excepto en la última línea, cada una de las líneas debe terminar con una \ (barra inclinada invertida).

El parámetro SubcommandList puede incluir los submandatos a, iy c y su entrada. Si el último mandato del parámetro SubcommandList normalmente sería el.(punto) que finaliza la modalidad de entrada, la.(punto) es opcional. Si no existe ningún parámetro SubcommandList , se muestra la línea actual. El parámetro SubcommandList no puede incluir el submandato g , G, vo V .

Escriba el submandato l (list), n (number) o p (print) si desea visualizar los cambios. Estos submandatos son opcionales.

Nota: El submandato g es similar al submandato v , que ejecuta el parámetro SubcommandList para cada línea que no contiene una coincidencia para el patrón.
(1,$)G/Patrón/ [l] [n] [p] El submandato G (Global) interactivo marca cada línea que coincide con el parámetro Patrón , muestra la primera línea marcada, establece la línea actual en esa línea y, a continuación, espera un subcomando. Un patrón puede ser una serie de caracteres fija o un expresión regular.

El subcomando G no acepta los subcomandos a, i, c, g, G, vy V . Una vez finalizado el submandato, el submandato G visualiza la siguiente línea marcada, y así sucesivamente. El subcomando G toma un carácter de nueva línea como un submandato nulo. A: & (signo de dos puntos) hace que el submandato G vuelva a ejecutar el submandato anterior. Puede detener el submandato G pulsando Control + C.

Escriba el submandato l (list), n (number) o p (print) si desea visualizar los cambios. Estos submandatos son opcionales.

(1,$) v / P atrón/Lista de subcomandos [ l ] [ n ] [ p ] El submandato v ejecuta los submandatos en el parámetro SubcommandList para cada línea que no contiene una coincidencia para el parámetro Pattern . Un patrón puede ser una serie de caracteres fija o un expresión regular.

Escriba el submandato l (list), n (number) o p (print) si desea visualizar los cambios. Estos submandatos son opcionales.

El subcomando v no acepta los subcomandos a, i, c, g, Gy V .

Nota: El submandato v complementa al submandato g , que ejecuta el parámetro SubcommandList para cada línea que contiene una coincidencia para el patrón.
(1,$)V/Patrón/ [l] [n] [p] El submandato V marca cada línea que no coincide con el parámetro Patrón , muestra la primera línea marcada, establece la línea actual en esa línea y, a continuación, espera un submandato. Un patrón puede ser una serie de caracteres fija o un expresión regular.

Escriba el submandato l (list), n (number) o p (print) si desea visualizar los cambios. Estos submandatos son opcionales.

El subcomando V no acepta los subcomandos a, i, c, g, Gy v .

Nota: El submandato V complementa el submandato G , que marca las líneas que coinciden con el patrón.
marcar texto

Elemento Descripción
(.) k x [ l ] [ n ] [ p ] El submandato k (marca) marca la línea indicada con el nombre especificado por el parámetro x , que debe ser una letra ASCII en minúsculas. A continuación, la dirección 'x (comillas simples antes del carácter de marcado) se dirige a esta línea. El subcomando k no cambia la línea actual.

Escriba el submandato l (list), n (number) o p (print) si desea visualizar el texto marcado. Estos submandatos son opcionales.

Para marcar la línea actual

Escriba el submandato siguiente:

kLetter[l][n][p]

donde el parámetro Carta es la letra a a través de z para una marca, y l, ny p son subcomandos opcionales que muestran el texto marcado.

Para marcar una línea advestida
Escriba el submandato siguiente:
AddresskLetter[l][n][p]
donde el parámetro Dirección es el número de línea o la dirección simbólica de la línea que desea marcar, y el parámetro Carta es la letra a a través de z para una marca. Los submandatos opcionales l, ny p muestran el texto marcado.
Texto en movimiento

Elemento Descripción
(.,.) m A [ l ] [ n ] [ p ] El submandato m (move) vuelve a ocupar la línea o líneas direccionado. La primera línea movida sigue la línea dirigida por el parámetro A . Un parámetro de 0 mueve la línea o líneas direcvidas al principio del archivo. La dirección especificada por el parámetro A no puede ser una de las líneas a mover. El submandato m establece la línea actual en la última línea movida.

Escriba los submandatos l (list), n (number) o p (print) si desea visualizar la supresión. Estos submandatos son opcionales.

Mover una línea o un conjunto de líneas suprime las líneas especificadas de su ubicación original y las coloca en una nueva ubicación. Puede seleccionar qué líneas mover por dirección o patrón. Utilice el formato anterior para realizar las tareas de edición siguientes:
Para mover la línea actual
Escriba el submandato siguiente:
mAddress[l][n][p]
donde el parámetro Dirección es el número de línea o la dirección simbólica de la línea que desea que siga la línea actual, y l, ny p son submandatos opcionales que muestran la línea movida.
Para mover líneas especificadas por dirección
Escriba el submandato siguiente:
LineNumbermDestinationAddress[l][n][p]
donde el parámetro LineNumber es la dirección de las líneas que desea mover y el parámetro DestinationAddress es la línea que desea que sigan las líneas movidas. Los submandatos opcionales l, ny p muestran las líneas movidas.
Para mover líneas que contienen un patrón especificado
Escriba el submandato siguiente:
[Address]g/Pattern/m[DestinationAddress][l][n][p]
donde Dirección es un parámetro opcional que especifica el rango de líneas para buscar líneas que contienen el patrón especificado, el parámetro Patrón es el texto que está buscando y DestinationAddress es un parámetro opcional que representa la línea que desea que sigan las líneas movidas. Los submandatos opcionales l, ny p muestran las líneas movidas.

Si omite el parámetro Dirección , el editor ed busca en todo el archivo líneas que contienen el patrón. Si omite el parámetro DestinationAddress , el texto movido se coloca después de la línea actual.

Para Mover Líneas Que No Contienen Un Patrón Especificado
Escriba el submandato siguiente:
[Address]v/Pattern/m[DestinationAddress][l][n][p]
donde Dirección es un parámetro opcional que especifica el rango de líneas para buscar líneas que no contienen el patrón especificado, el parámetro Patrón es el texto y DestinationAddress es un parámetro opcional que representa la línea que desea que siga el texto movido. Los submandatos opcionales l, ny p muestran las líneas movidas.

Si omite el parámetro Dirección , el editor ed busca en todo el archivo líneas que no contienen el patrón. Si omite el parámetro DestinationAddress , el texto movido se coloca después de la línea actual.

Cómo guardar texto

Elemento Descripción
(1,$)w Archivo El submandato w (write) copia las líneas directadas del almacenamiento intermedio al archivo especificado por el parámetro Archivo . Si el archivo no existe, el submandato w lo crea con el código de permiso 666 (permiso de lectura y escritura para todos), a menos que el valor umask especifique otra modalidad de creación de archivos.

El subcomando w no cambia el nombre de archivo predeterminado (a menos que el parámetro Archivo sea el primer nombre de archivo utilizado desde que inició el editor ed). Si no proporciona un nombre de archivo, el submandato w utiliza el nombre de archivo predeterminado. El subcomando w no cambia la línea actual.

Si el editor ed graba correctamente el archivo desde el almacenamiento intermedio, muestra el número de caracteres escritos. Si especifica !Submandato Comando en lugar de un nombre de archivo, el submandato w lee la salida del mandato del sistema operativo especificado por el parámetro Comando . El submandato w no guarda el nombre del mandato del sistema operativo que ha especificado como nombre de archivo predeterminado.

Nota: Porque 0 no es una dirección legal para el submandato w , no puede crear un archivo vacío con el mandato ad .
Para guardar un archivo en el archivo actual
Escriba el submandato siguiente:
w 

El archivo actual se guarda bajo su nombre actual y el editor ed visualiza el número de caracteres escritos.

Para guardar parte de un archivo en el archivo actual
Escriba el submandato siguiente:
Addressw 
donde el parámetro Dirección especifica la línea o el grupo de líneas a escribir. El editor ed muestra el número de caracteres escritos.
Para guardar un archivo en un archivo diferente
Escriba el submandato siguiente:
w File
donde el parámetro Archivo es el nombre del archivo al que se debe grabar.

El archivo actual se guarda en el archivo especificado por el parámetro Archivo . El editor ed muestra el número de caracteres escritos.

Para guardar parte de un archivo en un archivo diferente
Escriba el submandato siguiente:
Addressw File

donde el parámetro Dirección especifica la línea o el grupo de líneas a escribir y el parámetro Archivo especifica el archivo a grabar.

Las líneas especificadas se guardan en el archivo especificado por el parámetro Archivo . El editor ed muestra el número de caracteres escritos.

Cómo buscar texto

Puede buscar hacia adelante o hacia atrás desde la línea actual para un patrón de texto. El patrón puede ser una serie de caracteres o un expresión regular formado por caracteres literales y los caracteres especiales ^ (circunflejo), $(signo de dólar),. (punto), [(corchete izquierdo),] (corchete derecho), * (asterisco), \ (barra inclinada invertida),% (signo de porcentaje) y la clave &.

Para buscar hacia delante
Escriba el submandato siguiente:
/Pattern
donde el parámetro Patrón es una serie de caracteres o una expresión regular que especifica el texto a buscar.

El cursor se mueve al primer carácter del texto especificado por el patrón.

Para Buscar Hacia Atrás
Escriba el submandato siguiente:
?Pattern
donde el parámetro Patrón es una serie de caracteres o una expresión regular que especifica el texto a buscar.

El cursor se mueve al primer carácter del texto especificado por el patrón.

Para repetir una búsqueda en la misma dirección
Escriba el submandato siguiente:
/

El cursor se mueve al primer carácter de la instancia más cercana del texto especificado por el patrón en el último mandato de búsqueda.

Para repetir una búsqueda en la dirección opuesta
Escriba el submandato siguiente:
?

El cursor se mueve al primer carácter de la instancia más cercana del texto especificado por el patrón en el último mandato de búsqueda.

Sustituir texto

Elemento Descripción
(.,.)s/Patrón/Sustitución/ [l] [n] [p] (.,.)s/Patrón/Sustitución/ng [l] [n] [p] El submandato s (sustituto) busca en cada línea dirigida una serie que coincide con el parámetro Patrón y sustituye la serie por el parámetro Sustitución especificado. Un patrón puede ser una serie de caracteres fija o un expresión regular. Sin el submandato global (g), el submandato s sustituye sólo la primera serie coincidente en cada línea dirigida. Con el submandato g , el submandato s sustituye cada aparición de la serie coincidente en cada línea dirigida. Si el subcomando s no encuentra una coincidencia para el patrón, devuelve el mensaje de error?(signo de interrogación).

Escriba el submandato l (list), n (number) o p (print) para visualizar el texto sustituido. Estos submandatos son opcionales.

Nota: Cualquier carácter excepto un espacio o un carácter de nueva línea puede separar (delimitar) los parámetros Patrón y Sustitución . El submandato s establece la línea actual en la última línea cambiada.

Si se especifica el parámetro Número (un entero), se sustituye el primer número que coincide con las series de cada línea dirigida.

Un carácter & (ampersand) utilizado en el parámetro Sustitución tiene el mismo valor que el parámetro Patrón . Por ejemplo, el submandato s/are/ & n't/ tiene el mismo efecto que el submandato s/are/aren't/ y sustituye por no están en la línea actual. A \ & (backslash, ampersand) elimina el significado especial del carácter & en el parámetro Sustitución.

Un subpatrón forma parte de un patrón entre las series \ ((barra inclinada invertida, paréntesis izquierdo) y \) (barra inclinada invertida, paréntesis derecho); el patrón funciona como si los caracteres delimitadores no estuvieran presentes. En el parámetro Sustitución , \Número hace referencia a las series que coinciden con los subpatrones. Por ejemplo, el submandato s/\ (t \) \ (h\) \ (e\)/t\1\2ose) sustituye el por los si existe una coincidencia para el patrón el en la línea actual. Si los subpatrones están anidados o en una serie, \Número hace referencia a la aparición especificada por el parámetro Número , contando desde el inicio de los caracteres delimitadores, \) (barra inclinada invertida, paréntesis derecho).

El porcentaje (signo de porcentaje), cuando se utiliza solo como el parámetro Sustitución , hace que el submandato s repita el parámetro Sustitución anterior. El% no tiene este significado especial si forma parte de un parámetro Sustitución más largo o si va precedido de una \ (barra inclinada invertida).

Puede dividir líneas sustituyendo los caracteres de nueva línea en ellos. En el parámetro Sustitución . Al pulsar la secuencia de teclas \ + Intro se cita el carácter de nueva línea (no se visualiza) y se mueve el cursor a la siguiente línea para el resto de la serie. Los caracteres de nueva línea no se pueden sustituir como parte de un subcomando g o una lista de submandatos de v .

Para sustituir texto dentro de la línea actual
  1. Escriba el submandato siguiente:
    s/OldString/NewString
    donde el parámetro OldString es el texto existente y el parámetro NewString es el texto que desea sustituir.
  2. Escriba una de las acciones siguientes:
    Para sustituir el parámetro NewString para la primera instancia del parámetro OldString dentro de la línea actual, escriba:
    /
    Para sustituir el parámetro NewString para cada instancia del parámetro OldPattern dentro de la línea actual, escriba:
    /g
  3. Para visualizar el texto modificado, escriba uno de los siguientes submandatos opcionales:
    l

    n

    p
  4. Pulse Intro.
Para sustituir texto dentro de una línea o grupo de líneas Addressed
  1. Escriba el submandato siguiente:
    Addresss/OldPattern/NewString
    donde el parámetro Dirección es la dirección de la línea o grupo de líneas donde desea sustituir texto, el parámetro OldPattern es el texto existente y el parámetro NewString es el texto que desea sustituir.
  2. Escriba una de las acciones siguientes:
    Para sustituir el parámetro NewString por la primera instancia del parámetro OldPattern dentro de cada línea, escriba:
    /NewString/
    Para sustituir el parámetro NewString para cada instancia del parámetro OldPattern dentro de cada línea, escriba:
    /NewString/g
    Para sustituir el NewString parámetro por la primera instancia del NumberOldPattern parámetro en cada línea de dirección, escriba:
    /NewString/Number
  3. Para visualizar el texto modificado, escriba uno de los siguientes submandatos opcionales:
    l

    n

    p
  4. Pulse Intro.
Sustituir un patrón especificado en líneas que contengan dicho patrón
  1. Escriba el submandato siguiente:
    Addressg/Pattern/s//NewString
    donde el parámetro Dirección es la dirección del grupo de líneas que desea buscar para el patrón especificado con el parámetro Patrón y el parámetro NewString es el texto que desea sustituir para el parámetro Patrón .
  2. Escriba una de las acciones siguientes:
    Para sustituir el parámetro NewString por la primera instancia del parámetro Patrón dentro de cada línea, escriba:
    /
    Para sustituir el parámetro NewString para cada instancia del parámetro Pattern dentro de cada línea, escriba:
    /g
  3. Para visualizar el texto modificado, escriba uno de los siguientes submandatos opcionales:
    l

    n

    p
  4. Pulse Intro.
Sustituir un patrón dentro de líneas que contengan un patrón diferente
  1. Escriba el submandato siguiente:
    Addressg/Pattern/s/OldString/NewString
    donde el parámetro Dirección es la dirección del grupo de líneas que desea buscar para el patrón especificado con el parámetro Patrón , el parámetro OldString es el texto que desea sustituir y el parámetro NewString es el texto que desea sustituir en lugar del parámetro OldString .
  2. Escriba una de las acciones siguientes:
    Para sustituir el parámetro NewString por la primera instancia del parámetro OldString dentro de cada línea que contiene el parámetro Pattern , escriba:
    /
    Para sustituir el parámetro NewString para cada instancia del parámetro OldString dentro de cada línea que contiene el parámetro Pattern , escriba:
    /g
  3. Para visualizar el texto modificado, escriba uno de los siguientes submandatos opcionales:
    l

    n

    p
  4. Pulse Intro.
Sustituir un patrón dentro de líneas que no contienen un patrón diferente
  1. Escriba el submandato siguiente:
    Addressv/Pattern/s/OldString/NewString
    donde el parámetro Dirección es la dirección del grupo de líneas que desea buscar para el patrón especificado con el parámetro Patrón , el parámetro OldString es el texto que desea sustituir y el parámetro NewString es el texto que desea sustituir en lugar del parámetro OldString .
  2. Escriba una de las acciones siguientes:

    Para sustituir el parámetro NewString por la primera instancia del parámetro OldString dentro de cada línea que no contenga el parámetro Pattern , escriba:

    /
    Para sustituir el parámetro NewString para cada instancia del parámetro OldString dentro de cada línea que no contenga el parámetro Pattern , escriba:
    /g
  3. Para visualizar el texto modificado, escriba uno de los siguientes submandatos opcionales:
    l

    n

    p
  4. Pulse Intro.
Deshacer cambios de texto

Elemento Descripción
u [ l ] [ n ] [ p ] El submandato u (undo) restaura el almacenamiento intermedio al estado en el que estaba antes de que se modificara por última vez mediante un submandato de editor ed. El submandato u no puede deshacer los submandatos e, fy w .

Escriba el submandato l (list), n (number) o p (print) si desea visualizar los cambios. Estos submandatos son opcionales.

Para deshacer cambios de texto
Escriba el submandato siguiente:
u[l][n][p]

donde l, ny p son submandatos opcionales que muestran los cambios. Todas las funciones de adición, cambio, movimiento, copia o supresión de edición realizadas al texto después de la última operación de salvar se deshacen.

Manipulación de archivos

Puede utilizar submandatos de editor ed para manipular archivos para realizar las tareas siguientes:

Adición de otro archivo al archivo actual
Elemento Descripción
($)r Archivo El submandato r (read) lee un archivo en el almacenamiento intermedio después de la línea dirigida. El submandato r no suprime el contenido anterior del almacenamiento intermedio. Cuando se especifica sin el parámetro Archivo , el submandato r lee el archivo predeterminado, si hay alguno, en el almacenamiento intermedio. El subcomando r no cambia el nombre de archivo predeterminado.

Una dirección 0 hace que el submandato r lea un archivo al principio del almacenamiento intermedio. Después de leer un archivo correctamente, el submandato r muestra el número de caracteres leídos en el almacenamiento intermedio y establece la línea actual en la última línea leída.

¡Si! (signo de exclamación) sustituye el parámetro Archivo en un subcomando r , el resto de la línea se toma como un mandato de shell del sistema operativo cuya salida se va a leer. El submandato r no almacena los nombres de los mandatos del sistema operativo como nombres de archivo predeterminados.

Para insertar un archivo después de la línea actual
Escriba el submandato siguiente:
r File
donde el parámetro Archivo es el nombre del archivo que se va a insertar.

El editor ed lee el archivo especificado por el parámetro Archivo en el archivo actual después de la línea actual y muestra el número de caracteres leídos en el archivo actual.

Para insertar un archivo después de una línea especificada por la dirección

Escriba el submandato siguiente:

Addressr File

donde el parámetro Dirección especifica la línea que desea que siga el archivo insertado y el parámetro Archivo es el nombre del archivo que se va a insertar.

El editor ed lee el archivo especificado por el parámetro Archivo en el archivo actual después de la línea especificada y muestra el número de caracteres leídos en el archivo actual.

Cambiar el nombre de archivo predeterminado
Elemento Descripción
f [Archivo] El submandato f (nombre de archivo) cambia el nombre de archivo predeterminado (el nombre almacenado del último archivo utilizado) al nombre especificado por el parámetro Archivo . Si no se especifica un parámetro Archivo , el submandato f muestra el nombre de archivo predeterminado. (El submandato e almacena el nombre de archivo predeterminado.)
Para mostrar el nombre de un archivo
Escriba el submandato siguiente:
f

El editor ed muestra el nombre del archivo en el almacenamiento intermedio de edición.

Para nombrar un archivo
Escriba el submandato siguiente:
f File
donde el parámetro Archivo es el nombre nuevo del archivo en el almacenamiento intermedio de edición.

Se cambia el nombre del archivo en el almacenamiento intermedio de edición.

Edición De Archivos Adicionales
Elemento Descripción
e Archivo El submandato e (editar) suprime primero cualquier contenido del almacenamiento intermedio, establece la línea actual en la última línea del almacenamiento intermedio y muestra el número de caracteres leídos en el almacenamiento intermedio. Si el almacenamiento intermedio se ha cambiado desde que se guardó su contenido (con el submandato w ), el editor ed muestra un?(signo de interrogación) antes de borrar el almacenamiento intermedio.

El submandato e almacena el parámetro Archivo como el nombre de archivo predeterminado que se utilizará, si es necesario, mediante los submandatos e, ro w posteriores. (Para cambiar el nombre del nombre de archivo predeterminado, utilice el submandato f .)

¡Cuando un! (signo de exclamación) sustituye el parámetro Archivo , el submandato e toma el resto de la línea como un mandato de shell del sistema operativo y lee la salida del mandato. El submandato e no almacena el nombre del mandato de shell como nombre de archivo predeterminado.

E Archivo El submandato E (Editar) funciona como el submandato e con una excepción; el submandato E no comprueba los cambios realizados en el almacenamiento intermedio después del último subcomando w . Los cambios que haya realizado antes de volver a editar el archivo se perderán.

Puede utilizar los submandatos e o E para realizar las tareas siguientes:

Volver a editar el archivo actual sin guardarlo
Escriba el submandato siguiente:
E 

El editor ed visualiza el número de caracteres del archivo. Los cambios que haya realizado antes de volver a editar el archivo se perderán.

Volver a editar el archivo actual después de guardarlo
Escriba el submandato siguiente:
e

El editor ed visualiza el número de caracteres del archivo.

Para editar un archivo después de guardar el archivo actual
Escriba el submandato siguiente:
e File

donde el parámetro Archivo es el nombre de un archivo nuevo o existente que desea editar.

Para un archivo existente, el editor ed visualiza el número de caracteres del archivo. Para un archivo nuevo, el editor ed muestra un?(signo de interrogación) y el nombre del archivo.

Para editar un archivo sin guardar el archivo actual
Escriba el submandato siguiente:
E File
donde el parámetro Archivo es el nombre de un archivo nuevo o existente que desea editar.

Para un archivo existente, el editor muestra el número de caracteres del archivo. Para un archivo nuevo, el editor ed muestra un?(signo de interrogación) y el nombre del archivo.

Funciones diversas de los submandatos del editor ed

Puede utilizar submandatos de editor ed para realizar las tareas siguientes:
Cambio de la serie de solicitud
Elemento Descripción
C El submandato P. (Solicitud) activa o desactiva la serie de solicitud del editor ed, que se representa mediante un * (asterisco). Inicialmente, el subcomando P. está desactivado.
Para iniciar o detener la visualización de la serie de solicitud
Escriba el submandato siguiente:
P

La solicitud del editor ed, un * (asterisco), se visualiza o no se visualiza, en función de su valor anterior.

Especificación de mandatos del sistema
Elemento Descripción
! Comando El ! permite ejecutar mandatos del sistema operativo sin salir del editor ed. Cualquier cosa que siga a la ! en una línea de submandato de editor ed se interpreta como un mandato de sistema operativo. En el texto de esa serie de mandato, el editor ed sustituye el% no escapado (signo de porcentaje) por el nombre de archivo actual, si existe.

Puede repetir el mandato anterior del sistema operativo entrando un!(signo de exclamación) después del ! Submandato editor ed. Si el intérprete de mandatos del sistema operativo (el mandato sh ) expande la serie de mandatos, el editor ed se hace eco de la línea ampliada. El ! no cambia la línea actual.

Para Ejecutar Un Mandato Del Sistema Operativo
Escriba el submandato siguiente:
!Command
donde el parámetro Comando especifica un mandato del sistema operativo que normalmente se especifica en la solicitud.

El mandato se ejecuta y muestra su salida. Una vez finalizado el mandato, el editor muestra un ! (signo de exclamación).

Para repetir un mandato del sistema operativo
Escriba el submandato siguiente:
!

El mandato del sistema operativo ejecutado anteriormente se ejecuta y muestra su salida. Una vez finalizado el mandato, el editor muestra un ! (signo de exclamación).

Para Ejecutar Varios Mandatos Del Sistema Operativo
  1. Escriba el submandato siguiente para visualizar una solicitud del sistema operativo:
    !sh
  2. Escriba un mandato del sistema operativo.
  3. Pulse Intro para ejecutar el mandato y visualizar su salida.
  4. Repita los pasos 2 y 3 para ejecutar más mandatos del sistema operativo.
  5. Pulse Control + D para volver a la modalidad de mandatos. El editor muestra un ! (signo de exclamación).
Salir del editor ed
Elemento Descripción
q El submandato q (quit) sale del editor ed después de comprobar si el almacenamiento intermedio se ha guardado en un archivo después de que se hayan especificado los últimos cambios. Si el almacenamiento intermedio no se ha guardado en un archivo, el submandato q muestra el?(signo de interrogación) mensaje. Vuelva a entrar el submandato q para salir del editor ed de todos modos. Los cambios en el archivo actual se pierden.
P El submandato Q (Salir) sale del editor ed sin comprobar si se han realizado cambios desde que se ha guardado el almacenamiento intermedio en un archivo. Se pierden los cambios realizados en el almacenamiento intermedio desde la última operación de salvar.
Para salir después de la comprobación de Edits
  1. Escriba el submandato siguiente:
    q
  2. Si el editor ed muestra un?, escriba uno de los submandatos siguientes:
    Para guardar los cambios antes de dejar de fumar, escriba:
    w
    A continuación pulse Intro.
    Para salir sin guardar los cambios, escriba:
    q
  3. Pulse Intro.
Para salir y descartar edits
  1. Escriba el submandato siguiente:
    Q
  2. Pulse Intro. Se pierden los cambios realizados en el almacenamiento intermedio desde la última operación de salvar.
Solicitud de ayuda
Elemento Descripción
h El submandato h (help) proporciona un breve mensaje de ayuda para el más reciente?mensaje de diagnóstico o error visualizado.
A El submandato H (Ayuda) hace que el editor ed visualice mensajes de ayuda para todos los subsiguientes? mensajes de diagnóstico. El subcomando H también explica lo anterior? si existiera uno. El submandato H alternadamente activa y desactiva esta modalidad; inicialmente está desactivada.
Para iniciar o detener la visualización de mensajes de ayuda
Escriba el submandato siguiente:
H

¿Se visualizan o no se visualizan los mensajes de ayuda? respuestas del editor ed, en función del valor anterior.

Para mostrar el último mensaje de ayuda
Escriba el submandato siguiente:
h

¿Se muestra un mensaje de ayuda para el último? respuesta del editor ed.

Soporte de clase de caracteres en el editor ed

En la expresión Patrones estándar, una expresión de rango coincide con el conjunto de todos los caracteres que caen entre dos caracteres en la secuencia de ordenación del entorno local actual. La sintaxis de la expresión de rango es la siguiente:
[character-character]

El primer carácter debe ser menor o igual que el segundo carácter de la secuencia de ordenación. Por ejemplo, [a-c] coincide con cualquiera de los caracteres a, b o c en el entorno local En_US.

La expresión de rango se utiliza normalmente para que coincida con una clase de caracteres. Por ejemplo, [0-9] se utiliza para significar todos los dígitos, y [a-z A-Z] se utiliza para significar todas las letras. Este formulario puede producir resultados inesperados cuando los rangos se interpretan de acuerdo con la secuencia de clasificación en el entorno local actual.

En lugar del formulario anterior, utilice una expresión de clase de carácter dentro de [] (corchetes) para que coincida con los caracteres. El sistema interpreta este tipo de expresión de acuerdo con la definición de clase de caracteres en el entorno local actual. Sin embargo, no puede utilizar expresiones de clase de caracteres en expresiones de rango.

La sintaxis de una expresión de clase de carácter es la siguiente:
[:CharacterClass:]

Es decir, un corchete izquierdo, un signo de dos puntos, el nombre de la clase de caracteres, otro dos puntos y, a continuación, un corchete derecho.

Las siguientes clases de caracteres están soportadas en todos los entornos locales:

Elemento Descripción
[:upper:] Letras en mayúsculas
[:lower:] Letras minúsculas
[:alpha:] Letras mayúsculas y minúsculas
[:digit:] Dígitos
[:alnum:] Caracteres alfanuméricos
[:xdigit:] Dígitos hexadecimales
[:punct:] Carácter de puntuación (ni carácter de control ni alfanumérico)
[:space:] Espacio, pestaña, retorno de carro, nueva línea, pestaña vertical o carácter de alimentación de formulario
[:print:] Caracteres imprimibles, incluido el espacio
[:graph:] Caracteres imprimibles, sin incluir el espacio
[:cntrl:] Caracteres de control
[:blank:] Espacios y tabuladores

Los corchetes forman parte de la definición de clase de carácter. Para que coincida con cualquier letra ASCII mayúscula o un dígito ASCII, utilice la siguiente expresión regular:

[[:upper:] [:digit:]]

No utilizar la expresión[A-Z0-9].

Un entorno local puede dar soporte a clases de caracteres adicionales.

El carácter de nueva línea forma parte del[:space:]clase de tipo carácter, pero no coincide con esta clase de caracteres. El carácter de nueva línea sólo puede coincidir con los caracteres de búsqueda especiales $(signo de dólar) y ^ (acento circunflejo).

Estado de salida

Los mandatos ad y rojo devuelven los siguientes valores de salida:

Elemento Descripción
0 Finalización satisfactoria.
>0 Se ha producido un error.