Исходный:
'abc','X:1234','cde', 'YYY', 'XYZ'
'abc','X:2345'','cde', 'YYY', 'XYZ'
Хочу к результату с ниже, в котором 2-я обрезка столбца к 4 символам, прежде является 6 символами.
'abc','X:12','cde', 'YYY', 'XYZ'
'abc','X:23'','cde', 'YYY', 'XYZ'
Я имею, только знают, как получить 2-й столбец с символом для обрезки, но не знайте, как отобразить все
awk -F, -vOFS="," '{print substr($2,2,4)}' test.txt > test2.txt
result:
X:12
X:23
Посоветуйтесь с символом для обрезки и отобразите все столбцы одновременно.Спасибо за помощь!
Односторонняя дорога:
awk -F, '{$2=q substr($2,2,4) q;}1' OFS=, q="'" test.txt
$2=q substr($2,2,4) q
- 2-й столбец изменяется, где мы извлекаем 4 символа и окружаем его кавычкой (q)
1
- распечатайте каждую строку
OFS=,
Используйте запятую в качестве Выходного разделителя полей