Esto funcionará:
grep --color=never -f <(cut -d, -f1 file1.txt | sed 's#.*#^\0,#') file2.txt
Explicación:
grep -f
:Obtener patrones de ARCHIVO, uno por línea --color=never
(opcional )elimina el color de la salida grep
para las coincidencias. <([...])
es la sintaxis para crear un descriptor de archivo basado en el contenido entre corchetes que es el siguiente:cut -d, -f1 file1.txt
devolverá la primera columna de file1.txt sed 's#.*#^\0,#'
hará que la primera columna se lea como ^column1,
para crear el patrón correcto para grep
. si desea excluir los encabezados para evitar errores (que no son necesarios en su ejemplo ), use esto:
head -n 1 file2.txt && \
grep --color=never -f <(tail -n +2 file1.txt | cut -d, -f1 | sed 's#.*#^\0,#') file2.txt
Ambos comandos devuelven:
name,addr,id
abc,hj,1
pqr,hj.2
Учитывая синтаксис:
convert [input-option] input-file [output-option] output-file
Возможно, вам удастся выполнить задание так же просто, как:
convert file-to-convert -depth 8 output-file
Хотя это также может быть:
convert file-to-convert -depth 8bit output-file
Вы можете найти все возможные параметры на справочной странице convert .:)
ХТХ