En este caso particular, donde solo tiene una sola palabra por línea, también puede hacer:
xargs touch < file
Tenga en cuenta que esto se romperá si los nombres de sus archivos pueden contener espacios. Para tales casos, use esto en su lugar:
xargs -I {} touch {} < file
Solo por diversión, aquí hay un par de otros enfoques (los cuales pueden manejar nombres de archivos arbitrarios, incluidas líneas con espacios):
Tenga en cuenta que en Linux y sistemas similares, la extensión es opcional para la gran mayoría de los archivos. No hay razón para agregar una .txt
extensión a un archivo de texto. Usted es libre de hacerlo, pero no hace ninguna diferencia. Entonces, si desea la extensión de todos modos, use uno de:
xargs -I {} touch {}.txt < file
perl -ne '`touch "$_.txt"`' file
awk '{printf "" > $0".txt"}' file